From: José Fonseca Date: Mon, 26 Nov 2012 15:58:06 +0000 (+0000) Subject: cmake: Fix MSVC build. X-Git-Url: https://git.cworth.org/git?p=apitrace;a=commitdiff_plain;h=d1623a2829191e6837d89bc2022ee1495f3d5aee cmake: Fix MSVC build. Ensure that newer DirectX headers are included before old versions. --- diff --git a/retrace/CMakeLists.txt b/retrace/CMakeLists.txt index 9071998..6368e1c 100644 --- a/retrace/CMakeLists.txt +++ b/retrace/CMakeLists.txt @@ -130,46 +130,48 @@ if (ENABLE_EGL AND X11_FOUND AND NOT WIN32 AND NOT APPLE) endif () if (WIN32 AND DirectX_D3DX9_INCLUDE_DIR) - include_directories (SYSTEM ${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_d3d9.cpp - COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d9retrace.py d3d9 1 > ${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/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_D3D8_INCLUDE_DIR) - include_directories (SYSTEM ${DirectX_D3D8_INCLUDE_DIR}) - set (HAVE_D3D8 1) - endif () + include_directories (BEFORE SYSTEM ${DirectX_D3DX9_INCLUDE_DIR}) 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 + OUTPUT 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 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/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 ) if (DirectX_D3D10_INCLUDE_DIR) - include_directories (SYSTEM ${DirectX_D3D10_INCLUDE_DIR}) + include_directories (BEFORE SYSTEM ${DirectX_D3D10_INCLUDE_DIR}) set (DXGI_MODULES d3d10) if (DirectX_D3D10_1_INCLUDE_DIR) - include_directories (SYSTEM ${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} @@ -179,10 +181,10 @@ if (WIN32 AND DirectX_D3DX9_INCLUDE_DIR) endif () if (DirectX_D3D11_INCLUDE_DIR) - include_directories (SYSTEM ${DirectX_D3D11_INCLUDE_DIR}) + include_directories (BEFORE 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}) + include_directories (BEFORE SYSTEM ${DirectX_D3D11_1_INCLUDE_DIR}) set (DXGI_MODULES ${DXGI_MODULES} d3d11_1) endif () set (D3DSTATE_SOURCES ${D3DSTATE_SOURCES} diff --git a/retrace/d3d9retrace.py b/retrace/d3d9retrace.py index 0ddcf27..9bc9628 100644 --- a/retrace/d3d9retrace.py +++ b/retrace/d3d9retrace.py @@ -120,7 +120,7 @@ def main(): print moduleName = sys.argv[1] - support = bool(sys.argv[2]) + support = int(sys.argv[2]) api = API() diff --git a/wrappers/CMakeLists.txt b/wrappers/CMakeLists.txt index 45af7e2..459e1ee 100644 --- a/wrappers/CMakeLists.txt +++ b/wrappers/CMakeLists.txt @@ -29,7 +29,7 @@ if (WIN32) # ddraw.dll if (DirectX_D3D_INCLUDE_DIR) - include_directories (SYSTEM ${DirectX_D3D_INCLUDE_DIR}) + include_directories (BEFORE SYSTEM ${DirectX_D3D_INCLUDE_DIR}) add_custom_command ( OUTPUT ddrawtrace.cpp COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/ddrawtrace.py > ${CMAKE_CURRENT_BINARY_DIR}/ddrawtrace.cpp @@ -61,7 +61,7 @@ if (WIN32) # d3d8.dll if (DirectX_D3D8_INCLUDE_DIR AND DirectX_D3DX9_INCLUDE_DIR) - include_directories (SYSTEM ${DirectX_D3D8_INCLUDE_DIR} ${DirectX_D3DX9_INCLUDE_DIR}) + include_directories (BEFORE SYSTEM ${DirectX_D3DX9_INCLUDE_DIR} ${DirectX_D3D8_INCLUDE_DIR}) add_custom_command ( OUTPUT d3d8trace.cpp COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d8trace.py > ${CMAKE_CURRENT_BINARY_DIR}/d3d8trace.cpp @@ -92,7 +92,7 @@ if (WIN32) # d3d9.dll if (DirectX_D3DX9_INCLUDE_DIR) - include_directories (SYSTEM ${DirectX_D3DX9_INCLUDE_DIR}) + include_directories (BEFORE SYSTEM ${DirectX_D3DX9_INCLUDE_DIR}) add_custom_command ( OUTPUT d3d9trace.cpp COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d9trace.py > ${CMAKE_CURRENT_BINARY_DIR}/d3d9trace.cpp @@ -132,19 +132,19 @@ if (WIN32) file (APPEND ${DXGITRACE_DEF} "D3D10CreateDevice\n") file (APPEND ${DXGITRACE_DEF} "D3D10CreateDeviceAndSwapChain\n") - include_directories (SYSTEM ${DirectX_D3D10_INCLUDE_DIR}) + include_directories (BEFORE SYSTEM ${DirectX_D3D10_INCLUDE_DIR}) set (DXGI_MODULES d3d10) if (DirectX_D3D10_1_INCLUDE_DIR) - include_directories (SYSTEM ${DirectX_D3D10_1_INCLUDE_DIR}) + include_directories (BEFORE SYSTEM ${DirectX_D3D10_1_INCLUDE_DIR}) set (DXGI_MODULES ${DXGI_MODULES} d3d10_1) file (APPEND ${DXGITRACE_DEF} "D3D10CreateDevice1\n") file (APPEND ${DXGITRACE_DEF} "D3D10CreateDeviceAndSwapChain1\n") endif () if (DirectX_D3D11_INCLUDE_DIR) - include_directories (SYSTEM ${DirectX_D3D11_INCLUDE_DIR}) + include_directories (BEFORE 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}) + include_directories (BEFORE SYSTEM ${DirectX_D3D11_1_INCLUDE_DIR}) set (DXGI_MODULES ${DXGI_MODULES} d3d11_1) endif () file (APPEND ${DXGITRACE_DEF} "D3D11CreateDevice\n") @@ -248,7 +248,7 @@ if (WIN32) # d2d1.dll, dwrite.dll if (DirectX_D2D1_INCLUDE_DIR) - include_directories (SYSTEM ${DirectX_D2D1_INCLUDE_DIR}) + include_directories (BEFORE SYSTEM ${DirectX_D2D1_INCLUDE_DIR}) add_custom_command ( OUTPUT d2d1trace.cpp