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/gltypes.py
22 ${CMAKE_SOURCE_DIR}/specs/stdapi.py
26 OUTPUT glstate_params.cpp
27 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/glstate_params.py > ${CMAKE_CURRENT_BINARY_DIR}/glstate_params.cpp
30 ${CMAKE_SOURCE_DIR}/specs/glparams.py
31 ${CMAKE_SOURCE_DIR}/specs/gltypes.py
32 ${CMAKE_SOURCE_DIR}/specs/stdapi.py
35 add_library (retrace_common STATIC
42 target_link_libraries (retrace_common
50 add_library (glretrace_common STATIC
64 add_dependencies (glretrace_common glproc)
65 target_link_libraries (glretrace_common
70 if (WIN32 OR APPLE OR X11_FOUND)
71 add_executable (glretrace
75 add_dependencies (glretrace glproc)
77 target_link_libraries (glretrace
86 target_link_libraries (glretrace
88 "-framework ApplicationServices" # CGS*
89 #"-framework OpenGL" # CGL*
92 target_link_libraries (glretrace ${X11_X11_LIB})
95 target_link_libraries (glretrace
96 # gdb doesn't like when pthreads is loaded through dlopen (which happens
97 # when dlopen'ing libGL), so link pthreads to avoid this issue. See also
98 # http://stackoverflow.com/questions/2702628/gdb-cannot-find-new-threads-generic-error
99 ${CMAKE_THREAD_LIBS_INIT}
103 if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
104 target_link_libraries (glretrace rt)
109 install (TARGETS glretrace RUNTIME DESTINATION bin)
112 if (ENABLE_EGL AND X11_FOUND AND NOT WIN32 AND NOT APPLE)
113 add_executable (eglretrace
117 add_dependencies (eglretrace glproc)
119 target_link_libraries (eglretrace
124 ${CMAKE_THREAD_LIBS_INIT}
128 if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
129 target_link_libraries (eglretrace rt)
132 install (TARGETS eglretrace RUNTIME DESTINATION bin)
136 if (DirectX_D3D8_INCLUDE_DIR)
137 include_directories (BEFORE SYSTEM ${DirectX_D3D8_INCLUDE_DIR})
139 set (D3DSTATE_SOURCES ${D3DSTATE_SOURCES}
147 OUTPUT d3dretrace_d3d8.cpp
148 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d9retrace.py d3d8 ${HAVE_D3D8} > ${CMAKE_CURRENT_BINARY_DIR}/d3dretrace_d3d8.cpp
153 ${CMAKE_SOURCE_DIR}/dispatch/dispatch.py
154 ${CMAKE_SOURCE_DIR}/specs/d3d8.py
155 ${CMAKE_SOURCE_DIR}/specs/d3d8types.py
156 ${CMAKE_SOURCE_DIR}/specs/d3d8caps.py
157 ${CMAKE_SOURCE_DIR}/specs/winapi.py
158 ${CMAKE_SOURCE_DIR}/specs/stdapi.py
161 if (DirectX_D3D9_INCLUDE_DIR)
162 include_directories (BEFORE SYSTEM ${DirectX_D3D9_INCLUDE_DIR})
168 OUTPUT d3dretrace_d3d9.cpp
169 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d9retrace.py d3d9 ${HAVE_D3D9} > ${CMAKE_CURRENT_BINARY_DIR}/d3dretrace_d3d9.cpp
174 ${CMAKE_SOURCE_DIR}/dispatch/dispatch.py
175 ${CMAKE_SOURCE_DIR}/specs/d3d9.py
176 ${CMAKE_SOURCE_DIR}/specs/d3d9types.py
177 ${CMAKE_SOURCE_DIR}/specs/d3d9caps.py
178 ${CMAKE_SOURCE_DIR}/specs/winapi.py
179 ${CMAKE_SOURCE_DIR}/specs/stdapi.py
182 if (DirectX_D3D10_INCLUDE_DIR)
183 include_directories (BEFORE SYSTEM ${DirectX_D3D10_INCLUDE_DIR})
184 set (DXGI_MODULES d3d10)
185 if (DirectX_D3D10_1_INCLUDE_DIR)
186 include_directories (BEFORE SYSTEM ${DirectX_D3D10_1_INCLUDE_DIR})
187 set (DXGI_MODULES ${DXGI_MODULES} d3d10_1)
189 set (D3DSTATE_SOURCES ${D3DSTATE_SOURCES}
191 d3d10state_images.cpp
195 if (DirectX_D3D11_INCLUDE_DIR)
196 include_directories (BEFORE SYSTEM ${DirectX_D3D11_INCLUDE_DIR})
197 set (DXGI_MODULES ${DXGI_MODULES} d3d11)
198 if (DirectX_D3D11_1_INCLUDE_DIR)
199 include_directories (BEFORE SYSTEM ${DirectX_D3D11_1_INCLUDE_DIR})
200 set (DXGI_MODULES ${DXGI_MODULES} d3d11_1)
202 set (D3DSTATE_SOURCES ${D3DSTATE_SOURCES}
204 d3d11state_images.cpp
209 OUTPUT d3dretrace_dxgi.cpp
210 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/dxgiretrace.py ${DXGI_MODULES} > ${CMAKE_CURRENT_BINARY_DIR}/d3dretrace_dxgi.cpp
215 ${CMAKE_SOURCE_DIR}/dispatch/dispatch.py
216 ${CMAKE_SOURCE_DIR}/specs/d3d11_1.py
217 ${CMAKE_SOURCE_DIR}/specs/d3d11.py
218 ${CMAKE_SOURCE_DIR}/specs/d3d11sdklayers.py
219 ${CMAKE_SOURCE_DIR}/specs/d3d10_1.py
220 ${CMAKE_SOURCE_DIR}/specs/d3d10.py
221 ${CMAKE_SOURCE_DIR}/specs/d3d10misc.py
222 ${CMAKE_SOURCE_DIR}/specs/d3d10sdklayers.py
223 ${CMAKE_SOURCE_DIR}/specs/d3dcommon.py
224 ${CMAKE_SOURCE_DIR}/specs/dxgi.py
225 ${CMAKE_SOURCE_DIR}/specs/dxgitype.py
226 ${CMAKE_SOURCE_DIR}/specs/dxgiformat.py
227 ${CMAKE_SOURCE_DIR}/specs/winapi.py
228 ${CMAKE_SOURCE_DIR}/specs/stdapi.py
231 add_executable (d3dretrace
241 target_link_libraries (d3dretrace
246 install (TARGETS d3dretrace RUNTIME DESTINATION bin)