X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=wrappers%2FCMakeLists.txt;h=f48b5a8f60d5058e43c92fbb405ea5f3d07ca980;hb=bd9811ff579a0482bfd7d40b1149bcef40ad3d71;hp=2cdf458e3a5da2e033738bdf67c857fa869bd55e;hpb=b35ae0df401ff22e3b2dc9b6bfacf1e23baebde0;p=apitrace diff --git a/wrappers/CMakeLists.txt b/wrappers/CMakeLists.txt index 2cdf458..f48b5a8 100644 --- a/wrappers/CMakeLists.txt +++ b/wrappers/CMakeLists.txt @@ -29,7 +29,7 @@ if (WIN32) # ddraw.dll if (DirectX_D3D_INCLUDE_DIR) - include_directories (SYSTEM ${DirectX_D3D_INCLUDE_DIR}) + include_directories (BEFORE SYSTEM ${DirectX_D3D_INCLUDE_DIR}) add_custom_command ( OUTPUT ddrawtrace.cpp COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/ddrawtrace.py > ${CMAKE_CURRENT_BINARY_DIR}/ddrawtrace.cpp @@ -60,8 +60,8 @@ if (WIN32) endif () # d3d8.dll - if (DirectX_D3D8_INCLUDE_DIR AND DirectX_D3DX9_INCLUDE_DIR) - include_directories (SYSTEM ${DirectX_D3D8_INCLUDE_DIR} ${DirectX_D3DX9_INCLUDE_DIR}) + if (DirectX_D3D8_INCLUDE_DIR AND DirectX_D3D9_INCLUDE_DIR) + include_directories (BEFORE SYSTEM ${DirectX_D3D9_INCLUDE_DIR} ${DirectX_D3D8_INCLUDE_DIR}) add_custom_command ( OUTPUT d3d8trace.cpp COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d8trace.py > ${CMAKE_CURRENT_BINARY_DIR}/d3d8trace.cpp @@ -76,8 +76,13 @@ if (WIN32) ${CMAKE_SOURCE_DIR}/specs/winapi.py ${CMAKE_SOURCE_DIR}/specs/stdapi.py ) - add_library (d3d8trace MODULE d3d8.def d3d8trace.cpp d3d9shader.cpp) + add_library (d3d8trace MODULE + d3d8.def + d3d8trace.cpp + d3d9shader.cpp + ) target_link_libraries (d3d8trace + d3dhelpers common_trace common ${ZLIB_LIBRARIES} @@ -91,8 +96,8 @@ if (WIN32) endif () # d3d9.dll - if (DirectX_D3DX9_INCLUDE_DIR) - include_directories (SYSTEM ${DirectX_D3DX9_INCLUDE_DIR}) + if (DirectX_D3D9_INCLUDE_DIR) + include_directories (BEFORE SYSTEM ${DirectX_D3D9_INCLUDE_DIR}) add_custom_command ( OUTPUT d3d9trace.cpp COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d9trace.py > ${CMAKE_CURRENT_BINARY_DIR}/d3d9trace.cpp @@ -108,8 +113,13 @@ if (WIN32) ${CMAKE_SOURCE_DIR}/specs/winapi.py ${CMAKE_SOURCE_DIR}/specs/stdapi.py ) - add_library (d3d9trace MODULE d3d9.def d3d9trace.cpp d3d9shader.cpp) + add_library (d3d9trace MODULE + d3d9.def + d3d9trace.cpp + d3d9shader.cpp + ) target_link_libraries (d3d9trace + d3dhelpers common_trace common ${ZLIB_LIBRARIES} @@ -122,136 +132,133 @@ if (WIN32) install (TARGETS d3d9trace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR}) endif () - # d3d10.dll + # dxgi.dll, d3d10.dll, d3d10_1.dll, d3d11.dll + set (DXGI_MODULES) if (DirectX_D3D10_INCLUDE_DIR) - include_directories (SYSTEM ${DirectX_D3D10_INCLUDE_DIR}) + set (DXGITRACE_DEF ${CMAKE_CURRENT_BINARY_DIR}/dxgitrace.def) + file (WRITE ${DXGITRACE_DEF} "EXPORTS\n") + file (APPEND ${DXGITRACE_DEF} "CreateDXGIFactory\n") + file (APPEND ${DXGITRACE_DEF} "CreateDXGIFactory1\n") + file (APPEND ${DXGITRACE_DEF} "D3D10CreateDevice\n") + file (APPEND ${DXGITRACE_DEF} "D3D10CreateDeviceAndSwapChain\n") + + include_directories (BEFORE SYSTEM ${DirectX_D3D10_INCLUDE_DIR}) + set (DXGI_MODULES d3d10) + if (DirectX_D3D10_1_INCLUDE_DIR) + include_directories (BEFORE SYSTEM ${DirectX_D3D10_1_INCLUDE_DIR}) + set (DXGI_MODULES ${DXGI_MODULES} d3d10_1) + file (APPEND ${DXGITRACE_DEF} "D3D10CreateDevice1\n") + file (APPEND ${DXGITRACE_DEF} "D3D10CreateDeviceAndSwapChain1\n") + endif () + if (DirectX_D3D11_INCLUDE_DIR) + include_directories (BEFORE SYSTEM ${DirectX_D3D11_INCLUDE_DIR}) + set (DXGI_MODULES ${DXGI_MODULES} d3d11) + if (DirectX_D3D11_1_INCLUDE_DIR) + include_directories (BEFORE SYSTEM ${DirectX_D3D11_1_INCLUDE_DIR}) + set (DXGI_MODULES ${DXGI_MODULES} d3d11_1) + endif () + file (APPEND ${DXGITRACE_DEF} "D3D11CreateDevice\n") + file (APPEND ${DXGITRACE_DEF} "D3D11CreateDeviceAndSwapChain\n") + endif () + add_custom_command ( - OUTPUT d3d10trace.cpp - COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d10trace.py > ${CMAKE_CURRENT_BINARY_DIR}/d3d10trace.cpp + OUTPUT dxgitrace.cpp + COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/dxgitrace.py ${DXGI_MODULES} > ${CMAKE_CURRENT_BINARY_DIR}/dxgitrace.cpp DEPENDS - d3d10trace.py - d3dcommontrace.py + dxgitrace.py dlltrace.py trace.py ${CMAKE_SOURCE_DIR}/dispatch/dispatch.py + ${CMAKE_SOURCE_DIR}/specs/d3d10_1.py ${CMAKE_SOURCE_DIR}/specs/d3d10.py ${CMAKE_SOURCE_DIR}/specs/d3d10misc.py ${CMAKE_SOURCE_DIR}/specs/d3d10sdklayers.py - ${CMAKE_SOURCE_DIR}/specs/d3d10shader.py - ${CMAKE_SOURCE_DIR}/specs/d3d10effect.py ${CMAKE_SOURCE_DIR}/specs/d3dcommon.py + ${CMAKE_SOURCE_DIR}/specs/dxgi1_2.py ${CMAKE_SOURCE_DIR}/specs/dxgi.py ${CMAKE_SOURCE_DIR}/specs/dxgitype.py ${CMAKE_SOURCE_DIR}/specs/dxgiformat.py ${CMAKE_SOURCE_DIR}/specs/winapi.py ${CMAKE_SOURCE_DIR}/specs/stdapi.py ) - add_library (d3d10trace MODULE - d3d10.def - d3d10trace.cpp + add_library (dxgitrace SHARED + ${DXGITRACE_DEF} + dxgitrace.cpp d3dcommonshader.cpp ) - target_link_libraries (d3d10trace + target_link_libraries (dxgitrace + d3dhelpers common_trace common ${ZLIB_LIBRARIES} ${SNAPPY_LIBRARIES} ) - set_target_properties (d3d10trace PROPERTIES - PREFIX "" - OUTPUT_NAME d3d10 - ) - install (TARGETS d3d10trace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR}) - endif () - - # d3d10_1.dll - if (DirectX_D3D10_1_INCLUDE_DIR) - include_directories (SYSTEM ${DirectX_D3D10_1_INCLUDE_DIR}) - add_custom_command ( - OUTPUT d3d10_1trace.cpp - COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d10_1trace.py > ${CMAKE_CURRENT_BINARY_DIR}/d3d10_1trace.cpp - DEPENDS - d3d10_1trace.py - d3dcommontrace.py - dlltrace.py - trace.py - ${CMAKE_SOURCE_DIR}/dispatch/dispatch.py - ${CMAKE_SOURCE_DIR}/specs/d3d10_1.py - ${CMAKE_SOURCE_DIR}/specs/d3d10.py - ${CMAKE_SOURCE_DIR}/specs/d3d10sdklayers.py - ${CMAKE_SOURCE_DIR}/specs/d3dcommon.py - ${CMAKE_SOURCE_DIR}/specs/dxgi.py - ${CMAKE_SOURCE_DIR}/specs/dxgitype.py - ${CMAKE_SOURCE_DIR}/specs/dxgiformat.py - ${CMAKE_SOURCE_DIR}/specs/winapi.py - ${CMAKE_SOURCE_DIR}/specs/stdapi.py + set_target_properties (dxgitrace + PROPERTIES PREFIX "" ) - add_library (d3d10_1trace MODULE - d3d10_1.def - d3d10_1trace.cpp - d3dcommonshader.cpp + install (TARGETS dxgitrace + RUNTIME DESTINATION ${WRAPPER_INSTALL_DIR} COMPONENT RUNTIME + LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR} COMPONENT RUNTIME ) - target_link_libraries (d3d10_1trace - common_trace - common - ${ZLIB_LIBRARIES} - ${SNAPPY_LIBRARIES} + + # dxgi.dll (empty stub for dxgitrace.dll) + add_library (dxgistubs MODULE + dxgi.def + dxgistubs.cpp + d3dkmtstubs.cpp ) - set_target_properties (d3d10_1trace + target_link_libraries (dxgistubs dxgitrace) + set_target_properties (dxgistubs PROPERTIES PREFIX "" - OUTPUT_NAME d3d10_1 + OUTPUT_NAME dxgi ) - install (TARGETS d3d10_1trace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR}) - endif () - - # d3d11.dll - if (DirectX_D3D11_INCLUDE_DIR) - if (DirectX_D3D11_1_INCLUDE_DIR) - set (HAVE_D3D11_1 1) - else () - set (HAVE_D3D11_1 0) - endif () + install (TARGETS dxgistubs LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR}) - include_directories (SYSTEM ${DirectX_D3D11_INCLUDE_DIR}) - add_custom_command ( - OUTPUT d3d11trace.cpp - COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d11trace.py ${HAVE_D3D11_1} > ${CMAKE_CURRENT_BINARY_DIR}/d3d11trace.cpp - DEPENDS - d3d11trace.py - d3dcommontrace.py - dlltrace.py - trace.py - ${CMAKE_SOURCE_DIR}/specs/d3d11_1.py - ${CMAKE_SOURCE_DIR}/specs/d3d11.py - ${CMAKE_SOURCE_DIR}/specs/d3d11sdklayers.py - ${CMAKE_SOURCE_DIR}/specs/d3dcommon.py - ${CMAKE_SOURCE_DIR}/specs/dxgi.py - ${CMAKE_SOURCE_DIR}/specs/dxgitype.py - ${CMAKE_SOURCE_DIR}/specs/dxgiformat.py - ${CMAKE_SOURCE_DIR}/specs/winapi.py - ${CMAKE_SOURCE_DIR}/specs/stdapi.py - ) - add_library (d3d11trace MODULE - d3d11.def - d3d11trace.cpp - d3dcommonshader.cpp - ) - target_link_libraries (d3d11trace - common_trace - common - ${ZLIB_LIBRARIES} - ${SNAPPY_LIBRARIES} + # d3d10.dll (empty stub for dxgitrace.dll) + add_library (d3d10stubs MODULE + d3d10.def + d3d10stubs.cpp ) - set_target_properties (d3d11trace + target_link_libraries (d3d10stubs dxgitrace) + set_target_properties (d3d10stubs PROPERTIES PREFIX "" - OUTPUT_NAME d3d11 + OUTPUT_NAME d3d10 ) - install (TARGETS d3d11trace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR}) + install (TARGETS d3d10stubs LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR}) + + # d3d10_1.dll (empty stub for dxgitrace.dll) + if (DirectX_D3D10_1_INCLUDE_DIR) + add_library (d3d10_1stubs MODULE + d3d10_1.def + d3d10stubs.cpp + ) + target_link_libraries (d3d10_1stubs dxgitrace) + set_target_properties (d3d10_1stubs + PROPERTIES PREFIX "" + OUTPUT_NAME d3d10_1 + ) + install (TARGETS d3d10_1stubs LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR}) + endif () + + # d3d11.dll (empty stub for dxgitrace.dll) + if (DirectX_D3D11_INCLUDE_DIR) + add_library (d3d11stubs MODULE + d3d11.def + d3d11stubs.cpp + d3dkmtstubs.cpp + ) + target_link_libraries (d3d11stubs dxgitrace) + set_target_properties (d3d11stubs + PROPERTIES PREFIX "" + OUTPUT_NAME d3d11 + ) + install (TARGETS d3d11stubs LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR}) + endif () endif () # d2d1.dll, dwrite.dll if (DirectX_D2D1_INCLUDE_DIR) - include_directories (SYSTEM ${DirectX_D2D1_INCLUDE_DIR}) + include_directories (BEFORE SYSTEM ${DirectX_D2D1_INCLUDE_DIR}) add_custom_command ( OUTPUT d2d1trace.cpp @@ -432,6 +439,7 @@ if (ENABLE_EGL AND NOT WIN32 AND NOT APPLE) gltrace.py trace.py ${CMAKE_SOURCE_DIR}/specs/eglapi.py + ${CMAKE_SOURCE_DIR}/specs/eglenum.py ${CMAKE_SOURCE_DIR}/specs/glesapi.py ${CMAKE_SOURCE_DIR}/specs/glapi.py ${CMAKE_SOURCE_DIR}/specs/glparams.py