1 ##############################################################################
5 ${CMAKE_CURRENT_SOURCE_DIR}
6 ${CMAKE_SOURCE_DIR}/helpers
7 ${CMAKE_BINARY_DIR}/dispatch
8 ${CMAKE_SOURCE_DIR}/dispatch
9 ${CMAKE_SOURCE_DIR}/image
12 add_definitions (-DRETRACE)
15 OUTPUT glretrace_gl.cpp
16 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/glretrace.py > ${CMAKE_CURRENT_BINARY_DIR}/glretrace_gl.cpp
20 ${CMAKE_SOURCE_DIR}/specs/glapi.py
21 ${CMAKE_SOURCE_DIR}/specs/glesapi.py
22 ${CMAKE_SOURCE_DIR}/specs/gltypes.py
23 ${CMAKE_SOURCE_DIR}/specs/stdapi.py
27 OUTPUT glstate_params.cpp
28 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/glstate_params.py > ${CMAKE_CURRENT_BINARY_DIR}/glstate_params.cpp
31 ${CMAKE_SOURCE_DIR}/specs/glparams.py
32 ${CMAKE_SOURCE_DIR}/specs/gltypes.py
33 ${CMAKE_SOURCE_DIR}/specs/stdapi.py
36 add_library (retrace_common STATIC
43 target_link_libraries (retrace_common
49 ${LIBBACKTRACE_LIBRARIES}
52 add_library (glretrace_common STATIC
66 add_dependencies (glretrace_common glproc)
67 target_link_libraries (glretrace_common
72 if (WIN32 OR APPLE OR X11_FOUND)
73 add_executable (glretrace
77 add_dependencies (glretrace glproc)
79 target_link_libraries (glretrace
88 target_link_libraries (glretrace
90 "-framework ApplicationServices" # CGS*
91 #"-framework OpenGL" # CGL*
94 target_link_libraries (glretrace ${X11_X11_LIB})
97 target_link_libraries (glretrace
98 # gdb doesn't like when pthreads is loaded through dlopen (which happens
99 # when dlopen'ing libGL), so link pthreads to avoid this issue. See also
100 # http://stackoverflow.com/questions/2702628/gdb-cannot-find-new-threads-generic-error
101 ${CMAKE_THREAD_LIBS_INIT}
105 if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
106 target_link_libraries (glretrace rt)
107 if (READPROC_H_FOUND)
108 target_link_libraries (glretrace ${proc_LIBRARY})
114 install (TARGETS glretrace RUNTIME DESTINATION bin)
117 if (ENABLE_EGL AND X11_FOUND AND NOT WIN32 AND NOT APPLE)
118 add_executable (eglretrace
122 add_dependencies (eglretrace glproc)
124 target_link_libraries (eglretrace
129 ${CMAKE_THREAD_LIBS_INIT}
133 if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
134 target_link_libraries (eglretrace rt)
135 if (READPROC_H_FOUND)
136 target_link_libraries (eglretrace ${proc_LIBRARY})
140 install (TARGETS eglretrace RUNTIME DESTINATION bin)
144 if (DirectX_D3D8_INCLUDE_DIR)
145 include_directories (BEFORE SYSTEM ${DirectX_D3D8_INCLUDE_DIR})
147 set (D3DSTATE_SOURCES ${D3DSTATE_SOURCES}
155 OUTPUT d3dretrace_d3d8.cpp
156 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d9retrace.py d3d8 ${HAVE_D3D8} > ${CMAKE_CURRENT_BINARY_DIR}/d3dretrace_d3d8.cpp
161 ${CMAKE_SOURCE_DIR}/dispatch/dispatch.py
162 ${CMAKE_SOURCE_DIR}/specs/d3d8.py
163 ${CMAKE_SOURCE_DIR}/specs/d3d8types.py
164 ${CMAKE_SOURCE_DIR}/specs/d3d8caps.py
165 ${CMAKE_SOURCE_DIR}/specs/winapi.py
166 ${CMAKE_SOURCE_DIR}/specs/stdapi.py
169 if (DirectX_D3D9_INCLUDE_DIR)
170 include_directories (BEFORE SYSTEM ${DirectX_D3D9_INCLUDE_DIR})
176 OUTPUT d3dretrace_d3d9.cpp
177 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d9retrace.py d3d9 ${HAVE_D3D9} > ${CMAKE_CURRENT_BINARY_DIR}/d3dretrace_d3d9.cpp
182 ${CMAKE_SOURCE_DIR}/dispatch/dispatch.py
183 ${CMAKE_SOURCE_DIR}/specs/d3d9.py
184 ${CMAKE_SOURCE_DIR}/specs/d3d9types.py
185 ${CMAKE_SOURCE_DIR}/specs/d3d9caps.py
186 ${CMAKE_SOURCE_DIR}/specs/winapi.py
187 ${CMAKE_SOURCE_DIR}/specs/stdapi.py
190 if (DirectX_D3D10_INCLUDE_DIR)
191 include_directories (BEFORE SYSTEM ${DirectX_D3D10_INCLUDE_DIR})
192 set (DXGI_MODULES d3d10)
193 if (DirectX_D3D10_1_INCLUDE_DIR)
194 include_directories (BEFORE SYSTEM ${DirectX_D3D10_1_INCLUDE_DIR})
195 set (DXGI_MODULES ${DXGI_MODULES} d3d10_1)
197 set (D3DSTATE_SOURCES ${D3DSTATE_SOURCES}
200 d3d10state_images.cpp
204 if (DirectX_D3D11_INCLUDE_DIR)
205 include_directories (BEFORE SYSTEM
206 ${DirectX_D3D11_INCLUDE_DIR}
207 ${CMAKE_SOURCE_DIR}/thirdparty/directxtex/DirectXTex
209 set (DXGI_MODULES ${DXGI_MODULES} d3d11)
210 if (DirectX_D3D11_1_INCLUDE_DIR)
211 include_directories (BEFORE SYSTEM ${DirectX_D3D11_1_INCLUDE_DIR})
212 set (DXGI_MODULES ${DXGI_MODULES} d3d11_1)
214 set (D3DSTATE_SOURCES ${D3DSTATE_SOURCES}
216 d3d11state_images.cpp
221 OUTPUT d3dretrace_dxgi.cpp
222 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/dxgiretrace.py ${DXGI_MODULES} > ${CMAKE_CURRENT_BINARY_DIR}/d3dretrace_dxgi.cpp
227 ${CMAKE_SOURCE_DIR}/dispatch/dispatch.py
228 ${CMAKE_SOURCE_DIR}/specs/d3d11_1.py
229 ${CMAKE_SOURCE_DIR}/specs/d3d11.py
230 ${CMAKE_SOURCE_DIR}/specs/d3d11sdklayers.py
231 ${CMAKE_SOURCE_DIR}/specs/d3d10_1.py
232 ${CMAKE_SOURCE_DIR}/specs/d3d10.py
233 ${CMAKE_SOURCE_DIR}/specs/d3d10misc.py
234 ${CMAKE_SOURCE_DIR}/specs/d3d10sdklayers.py
235 ${CMAKE_SOURCE_DIR}/specs/d3dcommon.py
236 ${CMAKE_SOURCE_DIR}/specs/dxgi1_2.py
237 ${CMAKE_SOURCE_DIR}/specs/dxgi.py
238 ${CMAKE_SOURCE_DIR}/specs/dxgitype.py
239 ${CMAKE_SOURCE_DIR}/specs/dxgiformat.py
240 ${CMAKE_SOURCE_DIR}/specs/winapi.py
241 ${CMAKE_SOURCE_DIR}/specs/stdapi.py
244 add_executable (d3dretrace
254 target_link_libraries (d3dretrace
258 if (DirectX_D3D11_INCLUDE_DIR)
259 target_link_libraries (d3dretrace directxtex)
262 install (TARGETS d3dretrace RUNTIME DESTINATION bin)