]> git.cworth.org Git - apitrace/blobdiff - wrappers/CMakeLists.txt
Relocate tracing (dis/en)enablement.
[apitrace] / wrappers / CMakeLists.txt
index 2e8a09546b233c67d5effe872078c01e996f3c27..259c7fb4759d03887ab23457d3f3227ead5d23f1 100644 (file)
@@ -4,9 +4,19 @@
 
 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)
@@ -32,16 +42,18 @@ if (WIN32)
                 ${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
@@ -61,16 +73,18 @@ if (WIN32)
                 ${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
@@ -90,21 +104,23 @@ if (WIN32)
                 ${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
@@ -113,9 +129,11 @@ if (WIN32)
                 dlltrace.py
                 trace.py
                 ${CMAKE_SOURCE_DIR}/dispatch/dispatch.py
-                ${CMAKE_SOURCE_DIR}/specs/d3d10misc.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
@@ -123,20 +141,22 @@ if (WIN32)
                 ${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
@@ -156,28 +176,37 @@ if (WIN32)
                 ${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)
+        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
@@ -187,16 +216,18 @@ if (WIN32)
                 ${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
@@ -223,6 +254,7 @@ if (WIN32)
     add_dependencies (wgltrace glproc)
     target_link_libraries (wgltrace
         glproc_gl
+        common_trace
         common
         ${ZLIB_LIBRARIES}
         ${SNAPPY_LIBRARIES}
@@ -265,6 +297,7 @@ elseif (APPLE)
 
     target_link_libraries (cgltrace
         glproc_gl
+        common_trace
         common
         ${ZLIB_LIBRARIES}
         ${SNAPPY_LIBRARIES}
@@ -306,6 +339,7 @@ elseif (X11_FOUND)
 
     target_link_libraries (glxtrace
         glproc_gl
+        common_trace
         common
         ${ZLIB_LIBRARIES}
         ${SNAPPY_LIBRARIES}
@@ -352,6 +386,7 @@ if (ENABLE_EGL AND NOT WIN32 AND NOT APPLE)
 
     target_link_libraries (egltrace
         glproc_egl
+        common_trace
         common
         ${ZLIB_LIBRARIES}
         ${SNAPPY_LIBRARIES}