# API tracers
-include_directories (${CMAKE_CURRENT_SOURCE_DIR})
+include_directories (
+ ${CMAKE_CURRENT_SOURCE_DIR}
+ ${CMAKE_SOURCE_DIR}/helpers
+ ${CMAKE_BINARY_DIR}/dispatch
+ ${CMAKE_SOURCE_DIR}/dispatch
+)
+add_library (common_trace STATIC
+ trace.cpp
+)
+
+set_target_properties (common_trace PROPERTIES
+ # Ensure it can be statically linked in shared libraries
+ COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_CXX_FLAGS}"
+)
if (WIN32)
if (MINGW)
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/ddrawtrace.py > ${CMAKE_CURRENT_BINARY_DIR}/ddrawtrace.cpp
DEPENDS
ddrawtrace.py
+ dlltrace.py
trace.py
+ ${CMAKE_SOURCE_DIR}/dispatch/dispatch.py
${CMAKE_SOURCE_DIR}/specs/d3d.py
${CMAKE_SOURCE_DIR}/specs/d3dtypes.py
${CMAKE_SOURCE_DIR}/specs/d3dcaps.py
${CMAKE_SOURCE_DIR}/specs/winapi.py
${CMAKE_SOURCE_DIR}/specs/stdapi.py
)
- add_library (ddraw MODULE ddraw.def ddrawtrace.cpp)
- target_link_libraries (ddraw
+ add_library (ddrawtrace MODULE ddraw.def ddrawtrace.cpp)
+ target_link_libraries (ddrawtrace
+ common_trace
common
${ZLIB_LIBRARIES}
${SNAPPY_LIBRARIES}
)
- set_target_properties (ddraw
- PROPERTIES PREFIX ""
+ set_target_properties (ddrawtrace PROPERTIES
+ PREFIX ""
+ OUTPUT_NAME ddraw
)
- install (TARGETS ddraw LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
+ install (TARGETS ddrawtrace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
endif ()
# d3d8.dll
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d8trace.py > ${CMAKE_CURRENT_BINARY_DIR}/d3d8trace.cpp
DEPENDS
d3d8trace.py
+ dlltrace.py
trace.py
+ ${CMAKE_SOURCE_DIR}/dispatch/dispatch.py
${CMAKE_SOURCE_DIR}/specs/d3d8.py
${CMAKE_SOURCE_DIR}/specs/d3d8types.py
${CMAKE_SOURCE_DIR}/specs/d3d8caps.py
${CMAKE_SOURCE_DIR}/specs/winapi.py
${CMAKE_SOURCE_DIR}/specs/stdapi.py
)
- add_library (d3d8 MODULE d3d8.def d3d8trace.cpp d3dshader.cpp)
- target_link_libraries (d3d8
+ add_library (d3d8trace MODULE d3d8.def d3d8trace.cpp d3d9shader.cpp)
+ target_link_libraries (d3d8trace
+ common_trace
common
${ZLIB_LIBRARIES}
${SNAPPY_LIBRARIES}
)
- set_target_properties (d3d8
- PROPERTIES PREFIX ""
+ set_target_properties (d3d8trace PROPERTIES
+ PREFIX ""
+ OUTPUT_NAME d3d8
)
- install (TARGETS d3d8 LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
+ install (TARGETS d3d8trace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
endif ()
# d3d9.dll
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d9trace.py > ${CMAKE_CURRENT_BINARY_DIR}/d3d9trace.cpp
DEPENDS
d3d9trace.py
+ dlltrace.py
trace.py
+ ${CMAKE_SOURCE_DIR}/dispatch/dispatch.py
${CMAKE_SOURCE_DIR}/specs/d3d9.py
${CMAKE_SOURCE_DIR}/specs/d3d9types.py
${CMAKE_SOURCE_DIR}/specs/d3d9caps.py
+ ${CMAKE_SOURCE_DIR}/specs/d3d9dxva2.py
${CMAKE_SOURCE_DIR}/specs/winapi.py
${CMAKE_SOURCE_DIR}/specs/stdapi.py
)
- add_library (d3d9 MODULE d3d9.def d3d9trace.cpp d3dshader.cpp)
- target_link_libraries (d3d9
+ add_library (d3d9trace MODULE d3d9.def d3d9trace.cpp d3d9shader.cpp)
+ target_link_libraries (d3d9trace
+ common_trace
common
${ZLIB_LIBRARIES}
${SNAPPY_LIBRARIES}
)
- set_target_properties (d3d9
- PROPERTIES PREFIX ""
+ set_target_properties (d3d9trace PROPERTIES
+ PREFIX ""
+ OUTPUT_NAME d3d9
)
- install (TARGETS d3d9 LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
+ install (TARGETS d3d9trace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
endif ()
# d3d10.dll
- if (DirectX_D3DX10_INCLUDE_DIR)
- include_directories (SYSTEM ${DirectX_D3DX10_INCLUDE_DIR})
+ if (DirectX_D3D10_INCLUDE_DIR)
+ include_directories (SYSTEM ${DirectX_D3D10_INCLUDE_DIR})
add_custom_command (
OUTPUT d3d10trace.cpp
COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d10trace.py > ${CMAKE_CURRENT_BINARY_DIR}/d3d10trace.cpp
DEPENDS
d3d10trace.py
+ d3dcommontrace.py
+ dlltrace.py
trace.py
- ${CMAKE_SOURCE_DIR}/specs/d3d10misc.py
+ ${CMAKE_SOURCE_DIR}/dispatch/dispatch.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/dxgi.py
${CMAKE_SOURCE_DIR}/specs/dxgitype.py
${CMAKE_SOURCE_DIR}/specs/winapi.py
${CMAKE_SOURCE_DIR}/specs/stdapi.py
)
- add_library (d3d10 MODULE d3d10.def d3d10trace.cpp)
- target_link_libraries (d3d10
+ add_library (d3d10trace MODULE d3d10.def d3d10trace.cpp d3d10shader.cpp)
+ target_link_libraries (d3d10trace
+ common_trace
common
${ZLIB_LIBRARIES}
${SNAPPY_LIBRARIES}
)
- set_target_properties (d3d10
- PROPERTIES PREFIX ""
+ set_target_properties (d3d10trace PROPERTIES
+ PREFIX ""
+ OUTPUT_NAME d3d10
)
- install (TARGETS d3d10 LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
+ install (TARGETS d3d10trace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
endif ()
# d3d10_1.dll
- if (DirectX_D3DX10_INCLUDE_DIR AND DirectX_D3D10_1_INCLUDE_DIR)
+ 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/winapi.py
${CMAKE_SOURCE_DIR}/specs/stdapi.py
)
- add_library (d3d10_1 MODULE d3d10_1.def d3d10_1trace.cpp)
- target_link_libraries (d3d10_1
+ add_library (d3d10_1trace MODULE d3d10_1.def d3d10_1trace.cpp d3d10shader.cpp)
+ target_link_libraries (d3d10_1trace
+ common_trace
common
${ZLIB_LIBRARIES}
${SNAPPY_LIBRARIES}
)
- set_target_properties (d3d10_1
+ set_target_properties (d3d10_1trace
PROPERTIES PREFIX ""
+ OUTPUT_NAME d3d10_1
)
- install (TARGETS d3d10_1 LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
+ install (TARGETS d3d10_1trace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
endif ()
# d3d11.dll
- if (DirectX_D3DX11_INCLUDE_DIR)
- include_directories (SYSTEM ${DirectX_D3DX11_INCLUDE_DIR})
+ if (DirectX_D3D11_INCLUDE_DIR)
+ if (DirectX_D3D11_1_INCLUDE_DIR)
+ set (HAVE_D3D11_1 1)
+ else ()
+ set (HAVE_D3D11_1 0)
+ endif ()
+
+ include_directories (SYSTEM ${DirectX_D3D11_INCLUDE_DIR})
add_custom_command (
OUTPUT d3d11trace.cpp
- COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d11trace.py > ${CMAKE_CURRENT_BINARY_DIR}/d3d11trace.cpp
+ COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d11trace.py ${HAVE_D3D11_1} > ${CMAKE_CURRENT_BINARY_DIR}/d3d11trace.cpp
DEPENDS
d3d11trace.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/winapi.py
${CMAKE_SOURCE_DIR}/specs/stdapi.py
)
- add_library (d3d11 MODULE d3d11.def d3d11trace.cpp)
- target_link_libraries (d3d11
+ add_library (d3d11trace MODULE d3d11.def d3d11trace.cpp)
+ target_link_libraries (d3d11trace
+ common_trace
common
${ZLIB_LIBRARIES}
${SNAPPY_LIBRARIES}
)
- set_target_properties (d3d11
+ set_target_properties (d3d11trace
PROPERTIES PREFIX ""
+ OUTPUT_NAME d3d11
)
- install (TARGETS d3d11 LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
+ install (TARGETS d3d11trace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
endif ()
# opengl32.dll
wgltrace.py
gltrace.py
trace.py
+ ${CMAKE_SOURCE_DIR}/dispatch/dispatch.py
${CMAKE_SOURCE_DIR}/specs/wglapi.py
${CMAKE_SOURCE_DIR}/specs/wglenum.py
${CMAKE_SOURCE_DIR}/specs/glapi.py
add_library (wgltrace MODULE opengl32.def
wgltrace.cpp
glcaps.cpp
- ${CMAKE_SOURCE_DIR}/glproc_gl.cpp
+ gltrace_state.cpp
)
add_dependencies (wgltrace glproc)
target_link_libraries (wgltrace
+ glproc_gl
+ common_trace
common
${ZLIB_LIBRARIES}
${SNAPPY_LIBRARIES}
add_library (cgltrace SHARED
cgltrace.cpp
glcaps.cpp
- ${CMAKE_SOURCE_DIR}/glproc_gl.cpp
+ gltrace_state.cpp
)
add_dependencies (cgltrace glproc)
)
target_link_libraries (cgltrace
+ glproc_gl
+ common_trace
common
${ZLIB_LIBRARIES}
${SNAPPY_LIBRARIES}
add_library (glxtrace SHARED
glxtrace.cpp
glcaps.cpp
- ${CMAKE_SOURCE_DIR}/glproc_gl.cpp
+ gltrace_state.cpp
)
add_dependencies (glxtrace glproc)
)
target_link_libraries (glxtrace
+ glproc_gl
+ common_trace
common
${ZLIB_LIBRARIES}
${SNAPPY_LIBRARIES}
- ${X11_X11_LIB}
${CMAKE_THREAD_LIBS_INIT}
dl
)
add_library (egltrace SHARED
egltrace.cpp
glcaps.cpp
- ${CMAKE_SOURCE_DIR}/glproc_egl.cpp
+ gltrace_state.cpp
+ ${CMAKE_SOURCE_DIR}/helpers/eglsize.cpp
)
add_dependencies (egltrace glproc)
)
target_link_libraries (egltrace
+ glproc_egl
+ common_trace
common
${ZLIB_LIBRARIES}
${SNAPPY_LIBRARIES}