X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=retrace%2FCMakeLists.txt;h=5f831a4ef0045d2dff8a8cb090c0964485f9ea03;hb=d7c738e13decf8a8a891008c51b437ccbe3434fb;hp=358361e14e515973db393f23ccb74b0367ef4cb3;hpb=a742ab929263959909cc54503c6453914a87c693;p=apitrace diff --git a/retrace/CMakeLists.txt b/retrace/CMakeLists.txt index 358361e..5f831a4 100644 --- a/retrace/CMakeLists.txt +++ b/retrace/CMakeLists.txt @@ -1,7 +1,13 @@ ############################################################################## # 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 + ${CMAKE_SOURCE_DIR}/image +) add_definitions (-DRETRACE) @@ -26,38 +32,52 @@ 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 + ${ZLIB_LIBRARIES} + ${SNAPPY_LIBRARIES} + ${GETOPT_LIBRARIES} +) + +add_library (glretrace_common STATIC 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 (glretrace_common glproc) +target_link_libraries (glretrace_common + retrace_common +) -add_dependencies (retrace_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) @@ -82,6 +102,9 @@ if (WIN32 OR APPLE OR X11_FOUND) if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") target_link_libraries (glretrace rt) + if (READPROC_H_FOUND) + target_link_libraries (glretrace proc) + endif () endif () endif () @@ -92,17 +115,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 @@ -110,18 +130,54 @@ if (ENABLE_EGL AND X11_FOUND AND NOT WIN32 AND NOT APPLE) if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") target_link_libraries (eglretrace rt) + if (READPROC_H_FOUND) + target_link_libraries (eglretrace proc) + endif () endif () 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) + set (D3DSTATE_SOURCES ${D3DSTATE_SOURCES} + d3d8state.cpp + d3d8state_images.cpp + ) + 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 + ) + + 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_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 d3d9 ${HAVE_D3D9} > ${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 @@ -129,17 +185,75 @@ if (WIN32 AND DirectX_D3DX9_INCLUDE_DIR) ${CMAKE_SOURCE_DIR}/specs/stdapi.py ) - include_directories (SYSTEM ${DirectX_D3DX9_INCLUDE_DIR}) + 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 (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 () + + add_custom_command ( + OUTPUT d3dretrace_dxgi.cpp + COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/dxgiretrace.py ${DXGI_MODULES} > ${CMAKE_CURRENT_BINARY_DIR}/d3dretrace_dxgi.cpp + DEPENDS + 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 + ${CMAKE_SOURCE_DIR}/specs/dxgiformat.py + ${CMAKE_SOURCE_DIR}/specs/winapi.py + ${CMAKE_SOURCE_DIR}/specs/stdapi.py + ) + add_executable (d3dretrace - retrace.cpp - retrace_stdc.cpp d3dretrace_main.cpp + d3dretrace_d3d8.cpp d3dretrace_d3d9.cpp + d3dretrace_dxgi.cpp + d3dretrace_ws.cpp + d3d9state.cpp + d3d9state_images.cpp + ${D3DSTATE_SOURCES} ) target_link_libraries (d3dretrace - common - ${ZLIB_LIBRARIES} - ${SNAPPY_LIBRARIES} + retrace_common + d3dhelpers ) -endif () + if (DirectX_D3D11_INCLUDE_DIR) + target_link_libraries (d3dretrace directxtex) + endif () + install (TARGETS d3dretrace RUNTIME DESTINATION bin) +endif ()