X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=wrappers%2FCMakeLists.txt;h=2cdf458e3a5da2e033738bdf67c857fa869bd55e;hb=944088ed749f195699228598ce3955063696931b;hp=b9e3eefe88314146f5dfc9e6f219c36677d954df;hpb=e90cac47697d2c26ac3a6d5292de101519b46f95;p=apitrace diff --git a/wrappers/CMakeLists.txt b/wrappers/CMakeLists.txt index b9e3eef..2cdf458 100644 --- a/wrappers/CMakeLists.txt +++ b/wrappers/CMakeLists.txt @@ -9,10 +9,21 @@ include_directories ( ${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}" +) + +set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) if (WIN32) if (MINGW) # Silence warnings about @nn suffix mismatch + set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--enable-stdcall-fixup") set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--enable-stdcall-fixup") endif () @@ -36,6 +47,7 @@ if (WIN32) ) add_library (ddrawtrace MODULE ddraw.def ddrawtrace.cpp) target_link_libraries (ddrawtrace + common_trace common ${ZLIB_LIBRARIES} ${SNAPPY_LIBRARIES} @@ -66,6 +78,7 @@ if (WIN32) ) add_library (d3d8trace MODULE d3d8.def d3d8trace.cpp d3d9shader.cpp) target_link_libraries (d3d8trace + common_trace common ${ZLIB_LIBRARIES} ${SNAPPY_LIBRARIES} @@ -91,11 +104,13 @@ if (WIN32) ${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 (d3d9trace MODULE d3d9.def d3d9trace.cpp d3d9shader.cpp) target_link_libraries (d3d9trace + common_trace common ${ZLIB_LIBRARIES} ${SNAPPY_LIBRARIES} @@ -115,6 +130,7 @@ if (WIN32) 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}/dispatch/dispatch.py @@ -130,8 +146,13 @@ if (WIN32) ${CMAKE_SOURCE_DIR}/specs/winapi.py ${CMAKE_SOURCE_DIR}/specs/stdapi.py ) - add_library (d3d10trace MODULE d3d10.def d3d10trace.cpp d3d10shader.cpp) + add_library (d3d10trace MODULE + d3d10.def + d3d10trace.cpp + d3dcommonshader.cpp + ) target_link_libraries (d3d10trace + common_trace common ${ZLIB_LIBRARIES} ${SNAPPY_LIBRARIES} @@ -151,6 +172,7 @@ if (WIN32) 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 @@ -164,8 +186,13 @@ if (WIN32) ${CMAKE_SOURCE_DIR}/specs/winapi.py ${CMAKE_SOURCE_DIR}/specs/stdapi.py ) - add_library (d3d10_1trace MODULE d3d10_1.def d3d10_1trace.cpp) + add_library (d3d10_1trace MODULE + d3d10_1.def + d3d10_1trace.cpp + d3dcommonshader.cpp + ) target_link_libraries (d3d10_1trace + common_trace common ${ZLIB_LIBRARIES} ${SNAPPY_LIBRARIES} @@ -191,6 +218,7 @@ if (WIN32) 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 @@ -203,8 +231,13 @@ if (WIN32) ${CMAKE_SOURCE_DIR}/specs/winapi.py ${CMAKE_SOURCE_DIR}/specs/stdapi.py ) - add_library (d3d11trace MODULE d3d11.def d3d11trace.cpp) + add_library (d3d11trace MODULE + d3d11.def + d3d11trace.cpp + d3dcommonshader.cpp + ) target_link_libraries (d3d11trace + common_trace common ${ZLIB_LIBRARIES} ${SNAPPY_LIBRARIES} @@ -216,6 +249,55 @@ if (WIN32) install (TARGETS d3d11trace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR}) endif () + # d2d1.dll, dwrite.dll + if (DirectX_D2D1_INCLUDE_DIR) + include_directories (SYSTEM ${DirectX_D2D1_INCLUDE_DIR}) + + add_custom_command ( + OUTPUT d2d1trace.cpp + COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d2d1trace.py > ${CMAKE_CURRENT_BINARY_DIR}/d2d1trace.cpp + DEPENDS + d2d1trace.py + trace.py + ${CMAKE_SOURCE_DIR}/specs/d2d1.py + ${CMAKE_SOURCE_DIR}/specs/d2d1.py + ${CMAKE_SOURCE_DIR}/specs/d2dbasetypes.py + ${CMAKE_SOURCE_DIR}/specs/d2derr.py + ${CMAKE_SOURCE_DIR}/specs/dwrite.py + ${CMAKE_SOURCE_DIR}/specs/dcommon.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 (d2d1trace SHARED d2d1.def d2d1trace.cpp) + target_link_libraries (d2d1trace + common_trace + common + ${ZLIB_LIBRARIES} + ${SNAPPY_LIBRARIES} + ) + set_target_properties (d2d1trace + PROPERTIES PREFIX "" + OUTPUT_NAME d2d1 + ) + # http://www.cmake.org/pipermail/cmake/2009-March/028221.html + install (TARGETS d2d1trace + RUNTIME DESTINATION ${WRAPPER_INSTALL_DIR} COMPONENT RUNTIME + LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR} COMPONENT RUNTIME + ) + + # dwrite.dll is just an empty stub for d2d1.dll + add_library (dwritetrace MODULE dwrite.def dwritetrace.cpp) + target_link_libraries (dwritetrace d2d1trace) + set_target_properties (dwritetrace + PROPERTIES PREFIX "" + OUTPUT_NAME dwrite + ) + install (TARGETS dwritetrace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR}) + endif (DirectX_D2D1_INCLUDE_DIR) + # opengl32.dll add_custom_command ( OUTPUT wgltrace.cpp @@ -241,6 +323,7 @@ if (WIN32) add_dependencies (wgltrace glproc) target_link_libraries (wgltrace glproc_gl + common_trace common ${ZLIB_LIBRARIES} ${SNAPPY_LIBRARIES} @@ -284,6 +367,7 @@ elseif (APPLE) target_link_libraries (cgltrace glproc_gl + common_trace common ${ZLIB_LIBRARIES} ${SNAPPY_LIBRARIES} @@ -326,10 +410,10 @@ elseif (X11_FOUND) target_link_libraries (glxtrace glproc_gl + common_trace common ${ZLIB_LIBRARIES} ${SNAPPY_LIBRARIES} - ${X11_X11_LIB} ${CMAKE_THREAD_LIBS_INIT} dl ) @@ -359,6 +443,7 @@ if (ENABLE_EGL AND NOT WIN32 AND NOT APPLE) egltrace.cpp glcaps.cpp gltrace_state.cpp + ${CMAKE_SOURCE_DIR}/helpers/eglsize.cpp ) add_dependencies (egltrace glproc) @@ -373,6 +458,7 @@ if (ENABLE_EGL AND NOT WIN32 AND NOT APPLE) target_link_libraries (egltrace glproc_egl + common_trace common ${ZLIB_LIBRARIES} ${SNAPPY_LIBRARIES}