]> git.cworth.org Git - apitrace/blobdiff - wrappers/CMakeLists.txt
dxgitrace: Merge tracing of all DXGI related APIs.
[apitrace] / wrappers / CMakeLists.txt
index 2cdf458e3a5da2e033738bdf67c857fa869bd55e..be67bc0c3c8218b642579a45aebac467b3e11166 100644 (file)
@@ -122,18 +122,33 @@ 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 (DXGI_MODULES d3d10)
+        if (DirectX_D3D10_1_INCLUDE_DIR)
+            include_directories (SYSTEM ${DirectX_D3D10_1_INCLUDE_DIR})
+            set (DXGI_MODULES ${DXGI_MODULES} d3d10_1)
+        endif ()
+        if (DirectX_D3D11_INCLUDE_DIR)
+            include_directories (SYSTEM ${DirectX_D3D11_INCLUDE_DIR})
+            set (DXGI_MODULES ${DXGI_MODULES} d3d11)
+            if (DirectX_D3D11_1_INCLUDE_DIR)
+                include_directories (SYSTEM ${DirectX_D3D11_1_INCLUDE_DIR})
+                set (DXGI_MODULES ${DXGI_MODULES} d3d11_1)
+            endif ()
+        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
@@ -146,107 +161,78 @@ if (WIN32)
                 ${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
             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