]> git.cworth.org Git - apitrace/blobdiff - retrace/CMakeLists.txt
d3dretrace: Fix MSVC build.
[apitrace] / retrace / CMakeLists.txt
index c45b33fd679e06ad2179cfe86d23ed793b92f8b7..1f260e425dfbb94656c82ed36818643959ad2a48 100644 (file)
@@ -1,7 +1,12 @@
 ##############################################################################
 # API retracers
 
-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_definitions (-DRETRACE)
 
@@ -27,37 +32,48 @@ add_custom_command (
 )
 
 add_library (retrace_common
+    retrace.cpp
+    retrace_main.cpp
+    retrace_stdc.cpp
+    retrace_swizzle.cpp
+)
+
+target_link_libraries (retrace_common
+    common
+    ${PNG_LIBRARIES}
+    ${ZLIB_LIBRARIES}
+    ${SNAPPY_LIBRARIES}
+)
+
+add_library (glretrace_common
     glretrace_gl.cpp
     glretrace_cgl.cpp
     glretrace_glx.cpp
     glretrace_wgl.cpp
     glretrace_egl.cpp
     glretrace_main.cpp
+    glretrace_ws.cpp
     glstate.cpp
     glstate_images.cpp
     glstate_params.cpp
     glstate_shaders.cpp
-    retrace.cpp
-    retrace_stdc.cpp
     glws.cpp
 )
 
-add_dependencies (retrace_common glproc)
+add_dependencies (glretrace_common glproc)
+
 
 if (WIN32 OR APPLE OR X11_FOUND)
     add_executable (glretrace
         ${glws_os}
-        ${CMAKE_SOURCE_DIR}/glproc_gl.cpp
     )
 
     add_dependencies (glretrace glproc)
 
     target_link_libraries (glretrace
         retrace_common
-        common
-        ${PNG_LIBRARIES}
-        ${ZLIB_LIBRARIES}
-        ${SNAPPY_LIBRARIES}
+        glretrace_common
+        glproc_gl
     )
 
     if (WIN32)
@@ -92,17 +108,14 @@ endif ()
 if (ENABLE_EGL AND X11_FOUND AND NOT WIN32 AND NOT APPLE)
     add_executable (eglretrace
         glws_egl_xlib.cpp
-        ${CMAKE_SOURCE_DIR}/glproc_egl.cpp
     )
 
     add_dependencies (eglretrace glproc)
 
     target_link_libraries (eglretrace
         retrace_common
-        common
-        ${PNG_LIBRARIES}
-        ${ZLIB_LIBRARIES}
-        ${SNAPPY_LIBRARIES}
+        glretrace_common
+        glproc_egl
         ${X11_X11_LIB}
         ${CMAKE_THREAD_LIBS_INIT}
         dl
@@ -115,13 +128,15 @@ if (ENABLE_EGL AND X11_FOUND AND NOT WIN32 AND NOT APPLE)
     install (TARGETS eglretrace RUNTIME DESTINATION bin) 
 endif ()
 
-if (WIN32 AND DirectX_D3DX9_FOUND)
+if (WIN32 AND DirectX_D3DX9_INCLUDE_DIR)
     add_custom_command (
         OUTPUT d3dretrace_d3d9.cpp
-        COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3dretrace.py > ${CMAKE_CURRENT_BINARY_DIR}/d3dretrace_d3d9.cpp
+        COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d9retrace.py > ${CMAKE_CURRENT_BINARY_DIR}/d3dretrace_d3d9.cpp
         DEPENDS
-                d3dretrace.py
+                d3d9retrace.py
+                dllretrace.py
                 retrace.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
@@ -131,16 +146,125 @@ if (WIN32 AND DirectX_D3DX9_FOUND)
 
     include_directories (SYSTEM ${DirectX_D3DX9_INCLUDE_DIR})
     add_executable (d3dretrace
-        retrace.cpp
-        retrace_stdc.cpp
         d3dretrace_main.cpp
         d3dretrace_d3d9.cpp
+        d3dretrace_ws.cpp
+        d3d9state.cpp
+        d3d9state_images.cpp
     )
     target_link_libraries (d3dretrace
-        common
-        ${ZLIB_LIBRARIES}
-        ${SNAPPY_LIBRARIES}
-        ${DirectX_D3D9_LIBRARY}
+        retrace_common
     )
+
+    install (TARGETS d3dretrace RUNTIME DESTINATION bin)
 endif ()
 
+if (WIN32 AND DirectX_D3D10_INCLUDE_DIR)
+    add_custom_command (
+        OUTPUT d3dretrace_d3d10.cpp
+        COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d10retrace.py > ${CMAKE_CURRENT_BINARY_DIR}/d3dretrace_d3d10.cpp
+        DEPENDS
+                d3d10retrace.py
+                d3dcommonretrace.py
+                dllretrace.py
+                retrace.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/dxgiformat.py
+                ${CMAKE_SOURCE_DIR}/specs/winapi.py
+                ${CMAKE_SOURCE_DIR}/specs/stdapi.py
+    )
+
+    include_directories (SYSTEM ${DirectX_D3D10_INCLUDE_DIR})
+    add_executable (d3d10retrace
+        d3dretrace_main.cpp
+        d3dretrace_d3d10.cpp
+        d3dretrace_ws.cpp
+        d3d9state.cpp
+        d3d9state_images.cpp
+    )
+    target_link_libraries (d3d10retrace
+        retrace_common
+    )
+
+    install (TARGETS d3d10retrace RUNTIME DESTINATION bin)
+endif ()
+
+if (WIN32 AND DirectX_D3D10_1_INCLUDE_DIR)
+    add_custom_command (
+        OUTPUT d3dretrace_d3d10_1.cpp
+        COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d10_1retrace.py > ${CMAKE_CURRENT_BINARY_DIR}/d3dretrace_d3d10_1.cpp
+        DEPENDS
+                d3d10retrace.py
+                d3dcommonretrace.py
+                dllretrace.py
+                retrace.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
+    )
+
+    include_directories (SYSTEM ${DirectX_D3D10_1_INCLUDE_DIR})
+    add_executable (d3d10_1retrace
+        d3dretrace_main.cpp
+        d3dretrace_d3d10_1.cpp
+        d3dretrace_ws.cpp
+        d3d9state.cpp
+        d3d9state_images.cpp
+    )
+    target_link_libraries (d3d10_1retrace
+        retrace_common
+    )
+
+    install (TARGETS d3d10_1retrace RUNTIME DESTINATION bin)
+endif ()
+
+if (WIN32 AND DirectX_D3D11_INCLUDE_DIR)
+    add_custom_command (
+        OUTPUT d3dretrace_d3d11.cpp
+        COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d11retrace.py > ${CMAKE_CURRENT_BINARY_DIR}/d3dretrace_d3d11.cpp
+        DEPENDS
+                d3d11retrace.py
+                d3dcommonretrace.py
+                dllretrace.py
+                retrace.py
+                ${CMAKE_SOURCE_DIR}/dispatch/dispatch.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
+    )
+
+    include_directories (SYSTEM ${DirectX_D3D11_INCLUDE_DIR})
+    add_executable (d3d11retrace
+        d3dretrace_main.cpp
+        d3dretrace_d3d11.cpp
+        d3dretrace_ws.cpp
+        d3d9state.cpp
+        d3d9state_images.cpp
+    )
+    target_link_libraries (d3d11retrace
+        retrace_common
+    )
+
+    install (TARGETS d3d11retrace RUNTIME DESTINATION bin)
+endif ()