X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=retrace%2FCMakeLists.txt;h=26659908ba9bd0bc46a57f6788beb6d5b0e67c87;hb=1e40126d7a03c43538a07e37e2e63d8882c07e7c;hp=1f260e425dfbb94656c82ed36818643959ad2a48;hpb=cbe34810938b91291bc46a5de5535057b869f750;p=apitrace diff --git a/retrace/CMakeLists.txt b/retrace/CMakeLists.txt index 1f260e4..2665990 100644 --- a/retrace/CMakeLists.txt +++ b/retrace/CMakeLists.txt @@ -6,6 +6,7 @@ include_directories ( ${CMAKE_SOURCE_DIR}/helpers ${CMAKE_BINARY_DIR}/dispatch ${CMAKE_SOURCE_DIR}/dispatch + ${CMAKE_SOURCE_DIR}/image ) add_definitions (-DRETRACE) @@ -31,21 +32,22 @@ add_custom_command ( ${CMAKE_SOURCE_DIR}/specs/stdapi.py ) -add_library (retrace_common +add_library (retrace_common STATIC retrace.cpp retrace_main.cpp retrace_stdc.cpp retrace_swizzle.cpp + json.cpp ) - target_link_libraries (retrace_common + image common - ${PNG_LIBRARIES} ${ZLIB_LIBRARIES} ${SNAPPY_LIBRARIES} + ${GETOPT_LIBRARIES} ) -add_library (glretrace_common +add_library (glretrace_common STATIC glretrace_gl.cpp glretrace_cgl.cpp glretrace_glx.cpp @@ -59,8 +61,10 @@ add_library (glretrace_common glstate_shaders.cpp glws.cpp ) - add_dependencies (glretrace_common glproc) +target_link_libraries (glretrace_common + retrace_common +) if (WIN32 OR APPLE OR X11_FOUND) @@ -128,124 +132,93 @@ if (ENABLE_EGL AND X11_FOUND AND NOT WIN32 AND NOT APPLE) install (TARGETS eglretrace RUNTIME DESTINATION bin) endif () -if (WIN32 AND DirectX_D3DX9_INCLUDE_DIR) +if (WIN32) + 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_d3d9.cpp - COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d9retrace.py > ${CMAKE_CURRENT_BINARY_DIR}/d3dretrace_d3d9.cpp + 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/d3d9.py - ${CMAKE_SOURCE_DIR}/specs/d3d9types.py - ${CMAKE_SOURCE_DIR}/specs/d3d9caps.py - ${CMAKE_SOURCE_DIR}/specs/winapi.py - ${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) - 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/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 (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) + if (DirectX_D3D9_INCLUDE_DIR) + include_directories (BEFORE SYSTEM ${DirectX_D3D9_INCLUDE_DIR}) + set (HAVE_D3D9 1) + else () + set (HAVE_D3D9 0) + endif () 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 + OUTPUT d3dretrace_d3d9.cpp + COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d9retrace.py d3d9 ${HAVE_D3D9} > ${CMAKE_CURRENT_BINARY_DIR}/d3dretrace_d3d9.cpp DEPENDS - d3d10retrace.py - d3dcommonretrace.py + d3d9retrace.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/d3d9.py + ${CMAKE_SOURCE_DIR}/specs/d3d9types.py + ${CMAKE_SOURCE_DIR}/specs/d3d9caps.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 - ) + 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 () - install (TARGETS d3d10_1retrace RUNTIME DESTINATION bin) -endif () + if (DirectX_D3D11_INCLUDE_DIR) + include_directories (BEFORE SYSTEM + ${DirectX_D3D11_INCLUDE_DIR} + ${CMAKE_SOURCE_DIR}/thirdparty/directxtex/DirectXTex + ) + 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 () -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 + OUTPUT d3dretrace_dxgi.cpp + COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/dxgiretrace.py ${DXGI_MODULES} > ${CMAKE_CURRENT_BINARY_DIR}/d3dretrace_dxgi.cpp DEPENDS - d3d11retrace.py - d3dcommonretrace.py + dxgiretrace.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/d3d10_1.py + ${CMAKE_SOURCE_DIR}/specs/d3d10.py + ${CMAKE_SOURCE_DIR}/specs/d3d10misc.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 @@ -254,17 +227,23 @@ if (WIN32 AND DirectX_D3D11_INCLUDE_DIR) ${CMAKE_SOURCE_DIR}/specs/stdapi.py ) - include_directories (SYSTEM ${DirectX_D3D11_INCLUDE_DIR}) - add_executable (d3d11retrace + add_executable (d3dretrace d3dretrace_main.cpp - d3dretrace_d3d11.cpp + d3dretrace_d3d8.cpp + d3dretrace_d3d9.cpp + d3dretrace_dxgi.cpp d3dretrace_ws.cpp d3d9state.cpp d3d9state_images.cpp + ${D3DSTATE_SOURCES} ) - target_link_libraries (d3d11retrace + target_link_libraries (d3dretrace retrace_common + d3dhelpers ) + if (DirectX_D3D11_INCLUDE_DIR) + target_link_libraries (d3dretrace directxtex) + endif () - install (TARGETS d3d11retrace RUNTIME DESTINATION bin) + install (TARGETS d3dretrace RUNTIME DESTINATION bin) endif ()