]> git.cworth.org Git - apitrace/blobdiff - retrace/CMakeLists.txt
d3dtrace,d3dretrace: Move shader disassembly helpers to common location.
[apitrace] / retrace / CMakeLists.txt
index e6c8de0dfa8408132518a739da275257b2fb71d9..57079b59a38f837198223359da3cad029b984978 100644 (file)
@@ -43,6 +43,7 @@ target_link_libraries (retrace_common
     ${PNG_LIBRARIES}
     ${ZLIB_LIBRARIES}
     ${SNAPPY_LIBRARIES}
+    ${GETOPT_LIBRARIES}
 )
 
 add_library (glretrace_common
@@ -129,9 +130,31 @@ if (ENABLE_EGL AND X11_FOUND AND NOT WIN32 AND NOT APPLE)
 endif ()
 
 if (WIN32 AND DirectX_D3DX9_INCLUDE_DIR)
+    if (DirectX_D3D8_INCLUDE_DIR) 
+        include_directories (BEFORE SYSTEM ${DirectX_D3D8_INCLUDE_DIR})
+        set (HAVE_D3D8 1)
+    else ()
+        set (HAVE_D3D8 0)
+    endif ()
+    add_custom_command (
+        OUTPUT d3dretrace_d3d8.cpp
+        COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d9retrace.py d3d8 ${HAVE_D3D8} > ${CMAKE_CURRENT_BINARY_DIR}/d3dretrace_d3d8.cpp
+        DEPENDS
+                d3d9retrace.py
+                dllretrace.py
+                retrace.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
+    )
+
+    include_directories (BEFORE SYSTEM ${DirectX_D3DX9_INCLUDE_DIR})
     add_custom_command (
         OUTPUT d3dretrace_d3d9.cpp
-        COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d9retrace.py > ${CMAKE_CURRENT_BINARY_DIR}/d3dretrace_d3d9.cpp
+        COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d9retrace.py d3d9 1 > ${CMAKE_CURRENT_BINARY_DIR}/d3dretrace_d3d9.cpp
         DEPENDS
                 d3d9retrace.py
                 dllretrace.py
@@ -144,45 +167,37 @@ if (WIN32 AND DirectX_D3DX9_INCLUDE_DIR)
                 ${CMAKE_SOURCE_DIR}/specs/stdapi.py
     )
 
-    include_directories (SYSTEM ${DirectX_D3DX9_INCLUDE_DIR})
-    add_executable (d3dretrace
-        d3dretrace_main.cpp
-        d3dretrace_d3d9.cpp
-        d3dretrace_ws.cpp
-        d3d9state.cpp
-        d3d9state_images.cpp
-    )
-    target_link_libraries (d3dretrace
-        retrace_common
-    )
-
-    install (TARGETS d3dretrace RUNTIME DESTINATION bin)
-endif ()
-
-if (WIN32 AND DirectX_D3D10_INCLUDE_DIR)
-    include_directories (SYSTEM ${DirectX_D3D10_INCLUDE_DIR})
-    set (MODULES d3d10)
-    
-    if (DirectX_D3D10_1_INCLUDE_DIR)
-        include_directories (SYSTEM ${DirectX_D3D10_1_INCLUDE_DIR})
-        set (MODULES ${MODULES} d3d10_1)
+    if (DirectX_D3D10_INCLUDE_DIR)
+        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)
+        endif ()
+        set (D3DSTATE_SOURCES ${D3DSTATE_SOURCES}
+            d3d10state.cpp
+            d3d10state_images.cpp
+        )
     endif ()
 
     if (DirectX_D3D11_INCLUDE_DIR)
-        include_directories (SYSTEM ${DirectX_D3D11_INCLUDE_DIR})
-        set (MODULES ${MODULES} d3d11)
-    endif ()
-
-    if (DirectX_D3D11_1_INCLUDE_DIR)
-        include_directories (SYSTEM ${DirectX_D3D11_1_INCLUDE_DIR})
-        set (MODULES ${MODULES} d3d11_1)
+        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 ()
+        set (D3DSTATE_SOURCES ${D3DSTATE_SOURCES}
+            d3d11state.cpp
+            d3d11state_images.cpp
+        )
     endif ()
 
     add_custom_command (
-        OUTPUT d3dretrace_d3d10.cpp
-        COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3dcommonretrace.py ${MODULES} > ${CMAKE_CURRENT_BINARY_DIR}/d3dretrace_d3d10.cpp
+        OUTPUT d3dretrace_dxgi.cpp
+        COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/dxgiretrace.py ${DXGI_MODULES} > ${CMAKE_CURRENT_BINARY_DIR}/d3dretrace_dxgi.cpp
         DEPENDS
-                d3dcommonretrace.py
+                dxgiretrace.py
                 dllretrace.py
                 retrace.py
                 ${CMAKE_SOURCE_DIR}/dispatch/dispatch.py
@@ -193,8 +208,6 @@ if (WIN32 AND DirectX_D3D10_INCLUDE_DIR)
                 ${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
@@ -203,14 +216,20 @@ if (WIN32 AND DirectX_D3D10_INCLUDE_DIR)
                 ${CMAKE_SOURCE_DIR}/specs/stdapi.py
     )
 
-    add_executable (d3d10retrace
+    add_executable (d3dretrace
         d3dretrace_main.cpp
-        d3dretrace_d3d10.cpp
+        d3dretrace_d3d8.cpp
+        d3dretrace_d3d9.cpp
+        d3dretrace_dxgi.cpp
         d3dretrace_ws.cpp
+        d3d9state.cpp
+        d3d9state_images.cpp
+        ${D3DSTATE_SOURCES}
     )
-    target_link_libraries (d3d10retrace
+    target_link_libraries (d3dretrace
         retrace_common
+        d3dhelpers
     )
 
-    install (TARGETS d3d10retrace RUNTIME DESTINATION bin)
+    install (TARGETS d3dretrace RUNTIME DESTINATION bin)
 endif ()