1 ##############################################################################
6 ${CMAKE_CURRENT_SOURCE_DIR}
7 ${CMAKE_SOURCE_DIR}/helpers
8 ${CMAKE_BINARY_DIR}/dispatch
9 ${CMAKE_SOURCE_DIR}/dispatch
12 add_library (common_trace STATIC
16 set_target_properties (common_trace PROPERTIES
17 # Ensure it can be statically linked in shared libraries
18 COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_CXX_FLAGS}"
21 set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
25 # Silence warnings about @nn suffix mismatch
26 set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--enable-stdcall-fixup")
27 set (CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,--enable-stdcall-fixup")
31 if (DirectX_D3D_INCLUDE_DIR)
32 include_directories (SYSTEM ${DirectX_D3D_INCLUDE_DIR})
35 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/ddrawtrace.py > ${CMAKE_CURRENT_BINARY_DIR}/ddrawtrace.cpp
40 ${CMAKE_SOURCE_DIR}/dispatch/dispatch.py
41 ${CMAKE_SOURCE_DIR}/specs/d3d.py
42 ${CMAKE_SOURCE_DIR}/specs/d3dtypes.py
43 ${CMAKE_SOURCE_DIR}/specs/d3dcaps.py
44 ${CMAKE_SOURCE_DIR}/specs/ddraw.py
45 ${CMAKE_SOURCE_DIR}/specs/winapi.py
46 ${CMAKE_SOURCE_DIR}/specs/stdapi.py
48 add_library (ddrawtrace MODULE ddraw.def ddrawtrace.cpp)
49 target_link_libraries (ddrawtrace
55 set_target_properties (ddrawtrace PROPERTIES
59 install (TARGETS ddrawtrace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
63 if (DirectX_D3D8_INCLUDE_DIR AND DirectX_D3DX9_INCLUDE_DIR)
64 include_directories (SYSTEM ${DirectX_D3D8_INCLUDE_DIR} ${DirectX_D3DX9_INCLUDE_DIR})
67 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d8trace.py > ${CMAKE_CURRENT_BINARY_DIR}/d3d8trace.cpp
72 ${CMAKE_SOURCE_DIR}/dispatch/dispatch.py
73 ${CMAKE_SOURCE_DIR}/specs/d3d8.py
74 ${CMAKE_SOURCE_DIR}/specs/d3d8types.py
75 ${CMAKE_SOURCE_DIR}/specs/d3d8caps.py
76 ${CMAKE_SOURCE_DIR}/specs/winapi.py
77 ${CMAKE_SOURCE_DIR}/specs/stdapi.py
79 add_library (d3d8trace MODULE d3d8.def d3d8trace.cpp d3d9shader.cpp)
80 target_link_libraries (d3d8trace
86 set_target_properties (d3d8trace PROPERTIES
90 install (TARGETS d3d8trace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
94 if (DirectX_D3DX9_INCLUDE_DIR)
95 include_directories (SYSTEM ${DirectX_D3DX9_INCLUDE_DIR})
98 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d3d9trace.py > ${CMAKE_CURRENT_BINARY_DIR}/d3d9trace.cpp
103 ${CMAKE_SOURCE_DIR}/dispatch/dispatch.py
104 ${CMAKE_SOURCE_DIR}/specs/d3d9.py
105 ${CMAKE_SOURCE_DIR}/specs/d3d9types.py
106 ${CMAKE_SOURCE_DIR}/specs/d3d9caps.py
107 ${CMAKE_SOURCE_DIR}/specs/d3d9dxva2.py
108 ${CMAKE_SOURCE_DIR}/specs/winapi.py
109 ${CMAKE_SOURCE_DIR}/specs/stdapi.py
111 add_library (d3d9trace MODULE d3d9.def d3d9trace.cpp d3d9shader.cpp)
112 target_link_libraries (d3d9trace
118 set_target_properties (d3d9trace PROPERTIES
122 install (TARGETS d3d9trace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
125 # dxgi.dll, d3d10.dll, d3d10_1.dll, d3d11.dll
127 if (DirectX_D3D10_INCLUDE_DIR)
128 include_directories (SYSTEM ${DirectX_D3D10_INCLUDE_DIR})
129 set (DXGI_MODULES d3d10)
130 if (DirectX_D3D10_1_INCLUDE_DIR)
131 include_directories (SYSTEM ${DirectX_D3D10_1_INCLUDE_DIR})
132 set (DXGI_MODULES ${DXGI_MODULES} d3d10_1)
134 if (DirectX_D3D11_INCLUDE_DIR)
135 include_directories (SYSTEM ${DirectX_D3D11_INCLUDE_DIR})
136 set (DXGI_MODULES ${DXGI_MODULES} d3d11)
137 if (DirectX_D3D11_1_INCLUDE_DIR)
138 include_directories (SYSTEM ${DirectX_D3D11_1_INCLUDE_DIR})
139 set (DXGI_MODULES ${DXGI_MODULES} d3d11_1)
145 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/dxgitrace.py ${DXGI_MODULES} > ${CMAKE_CURRENT_BINARY_DIR}/dxgitrace.cpp
150 ${CMAKE_SOURCE_DIR}/dispatch/dispatch.py
151 ${CMAKE_SOURCE_DIR}/specs/d3d10_1.py
152 ${CMAKE_SOURCE_DIR}/specs/d3d10.py
153 ${CMAKE_SOURCE_DIR}/specs/d3d10misc.py
154 ${CMAKE_SOURCE_DIR}/specs/d3d10sdklayers.py
155 ${CMAKE_SOURCE_DIR}/specs/d3d10shader.py
156 ${CMAKE_SOURCE_DIR}/specs/d3d10effect.py
157 ${CMAKE_SOURCE_DIR}/specs/d3dcommon.py
158 ${CMAKE_SOURCE_DIR}/specs/dxgi.py
159 ${CMAKE_SOURCE_DIR}/specs/dxgitype.py
160 ${CMAKE_SOURCE_DIR}/specs/dxgiformat.py
161 ${CMAKE_SOURCE_DIR}/specs/winapi.py
162 ${CMAKE_SOURCE_DIR}/specs/stdapi.py
164 add_library (dxgitrace SHARED
169 target_link_libraries (dxgitrace
175 set_target_properties (dxgitrace
178 install (TARGETS dxgitrace
179 RUNTIME DESTINATION ${WRAPPER_INSTALL_DIR} COMPONENT RUNTIME
180 LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR} COMPONENT RUNTIME
183 # dxgi.dll (empty stub for dxgitrace.dll)
184 add_library (dxgistubs MODULE
189 target_link_libraries (dxgistubs dxgitrace)
190 set_target_properties (dxgistubs
194 install (TARGETS dxgistubs LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
196 # d3d10.dll (empty stub for dxgitrace.dll)
197 add_library (d3d10stubs MODULE
201 target_link_libraries (d3d10stubs dxgitrace)
202 set_target_properties (d3d10stubs
206 install (TARGETS d3d10stubs LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
208 # d3d10_1.dll (empty stub for dxgitrace.dll)
209 if (DirectX_D3D10_1_INCLUDE_DIR)
210 add_library (d3d10_1stubs MODULE
214 target_link_libraries (d3d10_1stubs dxgitrace)
215 set_target_properties (d3d10_1stubs
219 install (TARGETS d3d10_1stubs LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
222 # d3d11.dll (empty stub for dxgitrace.dll)
223 if (DirectX_D3D11_INCLUDE_DIR)
224 add_library (d3d11stubs MODULE
229 target_link_libraries (d3d11stubs dxgitrace)
230 set_target_properties (d3d11stubs
234 install (TARGETS d3d11stubs LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
238 # d2d1.dll, dwrite.dll
239 if (DirectX_D2D1_INCLUDE_DIR)
240 include_directories (SYSTEM ${DirectX_D2D1_INCLUDE_DIR})
244 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d2d1trace.py > ${CMAKE_CURRENT_BINARY_DIR}/d2d1trace.cpp
248 ${CMAKE_SOURCE_DIR}/specs/d2d1.py
249 ${CMAKE_SOURCE_DIR}/specs/d2d1.py
250 ${CMAKE_SOURCE_DIR}/specs/d2dbasetypes.py
251 ${CMAKE_SOURCE_DIR}/specs/d2derr.py
252 ${CMAKE_SOURCE_DIR}/specs/dwrite.py
253 ${CMAKE_SOURCE_DIR}/specs/dcommon.py
254 ${CMAKE_SOURCE_DIR}/specs/dxgi.py
255 ${CMAKE_SOURCE_DIR}/specs/dxgitype.py
256 ${CMAKE_SOURCE_DIR}/specs/dxgiformat.py
257 ${CMAKE_SOURCE_DIR}/specs/winapi.py
258 ${CMAKE_SOURCE_DIR}/specs/stdapi.py
260 add_library (d2d1trace SHARED d2d1.def d2d1trace.cpp)
261 target_link_libraries (d2d1trace
267 set_target_properties (d2d1trace
271 # http://www.cmake.org/pipermail/cmake/2009-March/028221.html
272 install (TARGETS d2d1trace
273 RUNTIME DESTINATION ${WRAPPER_INSTALL_DIR} COMPONENT RUNTIME
274 LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR} COMPONENT RUNTIME
277 # dwrite.dll is just an empty stub for d2d1.dll
278 add_library (dwritetrace MODULE dwrite.def dwritetrace.cpp)
279 target_link_libraries (dwritetrace d2d1trace)
280 set_target_properties (dwritetrace
284 install (TARGETS dwritetrace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
285 endif (DirectX_D2D1_INCLUDE_DIR)
290 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/wgltrace.py > ${CMAKE_CURRENT_BINARY_DIR}/wgltrace.cpp
295 ${CMAKE_SOURCE_DIR}/dispatch/dispatch.py
296 ${CMAKE_SOURCE_DIR}/specs/wglapi.py
297 ${CMAKE_SOURCE_DIR}/specs/wglenum.py
298 ${CMAKE_SOURCE_DIR}/specs/glapi.py
299 ${CMAKE_SOURCE_DIR}/specs/glparams.py
300 ${CMAKE_SOURCE_DIR}/specs/gltypes.py
301 ${CMAKE_SOURCE_DIR}/specs/winapi.py
302 ${CMAKE_SOURCE_DIR}/specs/stdapi.py
304 add_library (wgltrace MODULE opengl32.def
309 add_dependencies (wgltrace glproc)
310 target_link_libraries (wgltrace
317 set_target_properties (wgltrace PROPERTIES
321 install (TARGETS wgltrace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
327 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/cgltrace.py > ${CMAKE_CURRENT_BINARY_DIR}/cgltrace.cpp
332 ${CMAKE_SOURCE_DIR}/specs/cglapi.py
333 ${CMAKE_SOURCE_DIR}/specs/glapi.py
334 ${CMAKE_SOURCE_DIR}/specs/glparams.py
335 ${CMAKE_SOURCE_DIR}/specs/gltypes.py
336 ${CMAKE_SOURCE_DIR}/specs/stdapi.py
339 add_library (cgltrace SHARED
345 add_dependencies (cgltrace glproc)
347 set_target_properties (cgltrace PROPERTIES
348 # OpenGL framework name
349 PREFIX "" OUTPUT_NAME "OpenGL" SUFFIX ""
350 # Specificy the version and reexport GLU symbols
351 LINK_FLAGS "-compatibility_version 1 -current_version 1.0.0 -Wl,-reexport_library,/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGLU.dylib"
354 target_link_libraries (cgltrace
360 ${CMAKE_THREAD_LIBS_INIT}
364 install (TARGETS cgltrace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
369 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/glxtrace.py > ${CMAKE_CURRENT_BINARY_DIR}/glxtrace.cpp
374 ${CMAKE_SOURCE_DIR}/specs/glxapi.py
375 ${CMAKE_SOURCE_DIR}/specs/glapi.py
376 ${CMAKE_SOURCE_DIR}/specs/glparams.py
377 ${CMAKE_SOURCE_DIR}/specs/gltypes.py
378 ${CMAKE_SOURCE_DIR}/specs/stdapi.py
381 add_library (glxtrace SHARED
387 add_dependencies (glxtrace glproc)
389 set_target_properties (glxtrace PROPERTIES
390 # avoid the default "lib" prefix
392 # Prevent symbol relocations internal to our wrapper library to be
393 # overwritten by the application.
394 LINK_FLAGS "-Wl,-Bsymbolic -Wl,-Bsymbolic-functions"
397 target_link_libraries (glxtrace
403 ${CMAKE_THREAD_LIBS_INIT}
407 install (TARGETS glxtrace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
411 if (ENABLE_EGL AND NOT WIN32 AND NOT APPLE)
415 COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/egltrace.py > ${CMAKE_CURRENT_BINARY_DIR}/egltrace.cpp
420 ${CMAKE_SOURCE_DIR}/specs/eglapi.py
421 ${CMAKE_SOURCE_DIR}/specs/glesapi.py
422 ${CMAKE_SOURCE_DIR}/specs/glapi.py
423 ${CMAKE_SOURCE_DIR}/specs/glparams.py
424 ${CMAKE_SOURCE_DIR}/specs/gltypes.py
425 ${CMAKE_SOURCE_DIR}/specs/stdapi.py
428 add_library (egltrace SHARED
432 ${CMAKE_SOURCE_DIR}/helpers/eglsize.cpp
435 add_dependencies (egltrace glproc)
437 set_target_properties (egltrace PROPERTIES
438 # avoid the default "lib" prefix
440 # Prevent symbol relocations internal to our wrapper library to be
441 # overwritten by the application.
442 LINK_FLAGS "-Wl,-Bsymbolic -Wl,-Bsymbolic-functions"
445 target_link_libraries (egltrace
451 ${CMAKE_THREAD_LIBS_INIT}
455 install (TARGETS egltrace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})