# 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
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
${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}
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
${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}
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
common
${ZLIB_LIBRARIES}
${SNAPPY_LIBRARIES}
+ ${LIBBACKTRACE_LIBRARIES}
${CMAKE_THREAD_LIBS_INIT}
dl
)
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
common
${ZLIB_LIBRARIES}
${SNAPPY_LIBRARIES}
+ ${LIBBACKTRACE_LIBRARIES}
${CMAKE_THREAD_LIBS_INIT}
dl
)