1 ##############################################################################
5 ${CMAKE_CURRENT_SOURCE_DIR}
6 ${CMAKE_SOURCE_DIR}/helpers
7 ${CMAKE_BINARY_DIR}/dispatch
8 ${CMAKE_SOURCE_DIR}/dispatch
11 add_definitions (-DRETRACE)
14 OUTPUT glretrace_gl.cpp
15 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/glretrace.py > ${CMAKE_CURRENT_BINARY_DIR}/glretrace_gl.cpp
19 ${CMAKE_SOURCE_DIR}/specs/glapi.py
20 ${CMAKE_SOURCE_DIR}/specs/gltypes.py
21 ${CMAKE_SOURCE_DIR}/specs/stdapi.py
25 OUTPUT glstate_params.cpp
26 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/glstate_params.py > ${CMAKE_CURRENT_BINARY_DIR}/glstate_params.cpp
29 ${CMAKE_SOURCE_DIR}/specs/glparams.py
30 ${CMAKE_SOURCE_DIR}/specs/gltypes.py
31 ${CMAKE_SOURCE_DIR}/specs/stdapi.py
34 add_library (retrace_common
41 target_link_libraries (retrace_common
49 add_library (glretrace_common
64 add_dependencies (glretrace_common glproc)
67 if (WIN32 OR APPLE OR X11_FOUND)
68 add_executable (glretrace
72 add_dependencies (glretrace glproc)
74 target_link_libraries (glretrace
83 target_link_libraries (glretrace
85 "-framework ApplicationServices" # CGS*
86 #"-framework OpenGL" # CGL*
89 target_link_libraries (glretrace ${X11_X11_LIB})
92 target_link_libraries (glretrace
93 # gdb doesn't like when pthreads is loaded through dlopen (which happens
94 # when dlopen'ing libGL), so link pthreads to avoid this issue. See also
95 # http://stackoverflow.com/questions/2702628/gdb-cannot-find-new-threads-generic-error
96 ${CMAKE_THREAD_LIBS_INIT}
100 if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
101 target_link_libraries (glretrace rt)
106 install (TARGETS glretrace RUNTIME DESTINATION bin)
109 if (ENABLE_EGL AND X11_FOUND AND NOT WIN32 AND NOT APPLE)
110 add_executable (eglretrace
114 add_dependencies (eglretrace glproc)
116 target_link_libraries (eglretrace
121 ${CMAKE_THREAD_LIBS_INIT}
125 if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
126 target_link_libraries (eglretrace rt)
129 install (TARGETS eglretrace RUNTIME DESTINATION bin)
132 if (WIN32 AND DirectX_D3DX9_INCLUDE_DIR)
133 if (DirectX_D3D8_INCLUDE_DIR)
134 include_directories (BEFORE SYSTEM ${DirectX_D3D8_INCLUDE_DIR})
140 OUTPUT d3dretrace_d3d8.cpp
141 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d9retrace.py d3d8 ${HAVE_D3D8} > ${CMAKE_CURRENT_BINARY_DIR}/d3dretrace_d3d8.cpp
146 ${CMAKE_SOURCE_DIR}/dispatch/dispatch.py
147 ${CMAKE_SOURCE_DIR}/specs/d3d8.py
148 ${CMAKE_SOURCE_DIR}/specs/d3d8types.py
149 ${CMAKE_SOURCE_DIR}/specs/d3d8caps.py
150 ${CMAKE_SOURCE_DIR}/specs/winapi.py
151 ${CMAKE_SOURCE_DIR}/specs/stdapi.py
154 include_directories (BEFORE SYSTEM ${DirectX_D3DX9_INCLUDE_DIR})
156 OUTPUT d3dretrace_d3d9.cpp
157 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d9retrace.py d3d9 1 > ${CMAKE_CURRENT_BINARY_DIR}/d3dretrace_d3d9.cpp
162 ${CMAKE_SOURCE_DIR}/dispatch/dispatch.py
163 ${CMAKE_SOURCE_DIR}/specs/d3d9.py
164 ${CMAKE_SOURCE_DIR}/specs/d3d9types.py
165 ${CMAKE_SOURCE_DIR}/specs/d3d9caps.py
166 ${CMAKE_SOURCE_DIR}/specs/winapi.py
167 ${CMAKE_SOURCE_DIR}/specs/stdapi.py
170 if (DirectX_D3D10_INCLUDE_DIR)
171 include_directories (BEFORE SYSTEM ${DirectX_D3D10_INCLUDE_DIR})
172 set (DXGI_MODULES d3d10)
173 if (DirectX_D3D10_1_INCLUDE_DIR)
174 include_directories (BEFORE SYSTEM ${DirectX_D3D10_1_INCLUDE_DIR})
175 set (DXGI_MODULES ${DXGI_MODULES} d3d10_1)
177 set (D3DSTATE_SOURCES ${D3DSTATE_SOURCES}
179 d3d10state_images.cpp
183 if (DirectX_D3D11_INCLUDE_DIR)
184 include_directories (BEFORE SYSTEM ${DirectX_D3D11_INCLUDE_DIR})
185 set (DXGI_MODULES ${DXGI_MODULES} d3d11)
186 if (DirectX_D3D11_1_INCLUDE_DIR)
187 include_directories (BEFORE SYSTEM ${DirectX_D3D11_1_INCLUDE_DIR})
188 set (DXGI_MODULES ${DXGI_MODULES} d3d11_1)
190 set (D3DSTATE_SOURCES ${D3DSTATE_SOURCES}
192 d3d11state_images.cpp
197 OUTPUT d3dretrace_dxgi.cpp
198 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/dxgiretrace.py ${DXGI_MODULES} > ${CMAKE_CURRENT_BINARY_DIR}/d3dretrace_dxgi.cpp
203 ${CMAKE_SOURCE_DIR}/dispatch/dispatch.py
204 ${CMAKE_SOURCE_DIR}/specs/d3d11_1.py
205 ${CMAKE_SOURCE_DIR}/specs/d3d11.py
206 ${CMAKE_SOURCE_DIR}/specs/d3d11sdklayers.py
207 ${CMAKE_SOURCE_DIR}/specs/d3d10_1.py
208 ${CMAKE_SOURCE_DIR}/specs/d3d10.py
209 ${CMAKE_SOURCE_DIR}/specs/d3d10misc.py
210 ${CMAKE_SOURCE_DIR}/specs/d3d10sdklayers.py
211 ${CMAKE_SOURCE_DIR}/specs/d3d10shader.py
212 ${CMAKE_SOURCE_DIR}/specs/d3d10effect.py
213 ${CMAKE_SOURCE_DIR}/specs/d3dcommon.py
214 ${CMAKE_SOURCE_DIR}/specs/dxgi.py
215 ${CMAKE_SOURCE_DIR}/specs/dxgitype.py
216 ${CMAKE_SOURCE_DIR}/specs/dxgiformat.py
217 ${CMAKE_SOURCE_DIR}/specs/winapi.py
218 ${CMAKE_SOURCE_DIR}/specs/stdapi.py
221 add_executable (d3dretrace
231 target_link_libraries (d3dretrace
235 install (TARGETS d3dretrace RUNTIME DESTINATION bin)