]> git.cworth.org Git - apitrace/blobdiff - CMakeLists.txt
Merge branch 'master' into d2d
[apitrace] / CMakeLists.txt
index b8b4ae2e40c6334572734a3f73a167fe80160351..e65c529f322a39b6047c3e406eb82fbd90fadb66 100755 (executable)
@@ -189,14 +189,15 @@ link_libraries (${PNG_LIBRARIES})
 # AUTO.
 if (QT4_FOUND AND NOT QJSON_FOUND AND (ENABLE_GUI STREQUAL "AUTO"))
     add_subdirectory (thirdparty/qjson EXCLUDE_FROM_ALL)
-    set (QJSON_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/qjson)
+    set (QJSON_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty)
     set (QJSON_LIBRARY_DIRS)
     set (QJSON_LIBRARIES qjson_bundled)
     set (QJSON_FOUND TRUE)
 endif ()
 
-# For glext headers
-include_directories (${CMAKE_CURRENT_SOURCE_DIR}/thirdparty)
+# For glext headers.  Needs to be before system includes as often system's GL
+# headers bundle and include glext.h and glxext.h
+include_directories (BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/glext)
 
 # For EGL headers
 include_directories (${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/khr)
@@ -378,6 +379,37 @@ if (WIN32)
         install (TARGETS d3d10 LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
     endif (DirectX_D3D10_INCLUDE_DIR)
 
+    # d2d1.dll, dwrite.dll
+    if (DirectX_D2D1_INCLUDE_DIR)
+        include_directories (SYSTEM ${DirectX_D2D1_INCLUDE_DIR})
+
+        add_custom_command (
+            OUTPUT d2d1trace.cpp
+            COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/d2d1trace.py > ${CMAKE_CURRENT_BINARY_DIR}/d2d1trace.cpp
+            DEPENDS d2d1trace.py trace.py specs/d2d1.py specs/d2d1.py specs/d2dbasetypes.py specs/d2derr.py specs/dwrite.py specs/dcommon.py specs/dxgi.py specs/dxgitype.py specs/dxgiformat.py specs/winapi.py specs/stdapi.py
+        )
+        add_library (d2d1 MODULE specs/d2d1.def d2d1trace.cpp)
+        set_target_properties (d2d1
+            PROPERTIES PREFIX ""
+            RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers
+            LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers
+        )
+        install (TARGETS d2d1 LIBRARY DESTINATION wrappers)
+
+        add_custom_command (
+            OUTPUT dwritetrace.cpp
+            COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/dwritetrace.py > ${CMAKE_CURRENT_BINARY_DIR}/dwritetrace.cpp
+            DEPENDS dwritetrace.py trace.py specs/d2d1.py specs/d2d1.py specs/d2dbasetypes.py specs/d2derr.py specs/dwrite.py specs/dcommon.py specs/dxgi.py specs/dxgitype.py specs/dxgiformat.py specs/winapi.py specs/stdapi.py
+        )
+        add_library (dwrite MODULE specs/dwrite.def dwritetrace.cpp)
+        set_target_properties (dwrite
+            PROPERTIES PREFIX ""
+            RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers
+            LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers
+        )
+        install (TARGETS dwrite LIBRARY DESTINATION wrappers)
+    endif (DirectX_D2D1_INCLUDE_DIR)
+
     # opengl32.dll
     add_custom_command (
         OUTPUT wgltrace.cpp
@@ -423,7 +455,10 @@ elseif (APPLE)
         LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers
     )
 
-    target_link_libraries (cgltrace dl)
+    target_link_libraries (cgltrace
+        pthread
+        dl
+    )
 
     install (TARGETS cgltrace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
 elseif (X11_FOUND)
@@ -452,7 +487,11 @@ elseif (X11_FOUND)
         LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers
     )
 
-    target_link_libraries (glxtrace dl ${X11_X11_LIB})
+    target_link_libraries (glxtrace
+        ${X11_X11_LIB}
+        pthread
+        dl
+    )
 
     install (TARGETS glxtrace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
 endif ()
@@ -463,7 +502,7 @@ if (EGL_FOUND)
     add_custom_command (
         OUTPUT egltrace.cpp
         COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/egltrace.py > ${CMAKE_CURRENT_BINARY_DIR}/egltrace.cpp
-        DEPENDS egltrace.py gltrace.py trace.py specs/eglapi.py specs/glapi.py specs/glparams.py specs/gltypes.py specs/stdapi.py
+        DEPENDS egltrace.py gltrace.py trace.py specs/eglapi.py specs/glesapi.py specs/glapi.py specs/glparams.py specs/gltypes.py specs/stdapi.py
     )
 
     add_library (egltrace SHARED
@@ -490,7 +529,10 @@ if (EGL_FOUND)
         LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/wrappers
     )
 
-    target_link_libraries (egltrace dl)
+    target_link_libraries (egltrace
+        pthread
+        dl
+    )
 
     install (TARGETS egltrace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
 endif ()
@@ -562,6 +604,11 @@ if (WIN32 OR APPLE OR X11_FOUND)
             pthread
             dl
         )
+
+        if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+            target_link_libraries (glretrace rt)
+        endif ()
+
     endif ()
 
     install (TARGETS glretrace RUNTIME DESTINATION bin) 
@@ -590,6 +637,10 @@ if (EGL_FOUND AND X11_FOUND AND NOT WIN32 AND NOT APPLE)
         dl
     )
 
+    if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+        target_link_libraries (eglretrace rt)
+    endif ()
+
     install (TARGETS eglretrace RUNTIME DESTINATION bin) 
 endif ()