]> git.cworth.org Git - apitrace/blobdiff - CMakeLists.txt
retrace: Implement glxCopySubBufferMESA
[apitrace] / CMakeLists.txt
index db030314f956b704496c21a0b4018ac17b664407..81e5cdcd8f8ada8c8145aa0a18ab48539ba86f54 100644 (file)
@@ -108,6 +108,9 @@ if (MSVC)
     # C99 includes for MSVC
     include_directories (${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/msinttypes)
 
+    # No RTTI required
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR-")
+
     # Enable math constants defines
     add_definitions (-D_USE_MATH_DEFINES)
 
@@ -144,6 +147,9 @@ else ()
     # XXX: it's safer to use ssize_t everywhere instead of disabling warning
     add_definitions (-Wno-sign-compare) # comparison between signed and unsigned integer expressions
 
+    # No RTTI required
+    #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
+
     # Use GDB extensions if available
     if (CMAKE_COMPILER_IS_GNUC)
         set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -ggdb -O0")
@@ -262,7 +268,8 @@ endif ()
 if (CMAKE_EXECUTABLE_FORMAT STREQUAL "ELF")
     add_subdirectory (thirdparty/libbacktrace)
     include_directories (${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libbacktrace)
-    set (LIBBACKTRACE_LIBRARIES backtrace)
+    set (LIBBACKTRACE_LIBRARIES dl backtrace)
+    add_definitions (-DHAVE_BACKTRACE=1)
 endif ()
 
 # Always use bundled QJSon.
@@ -309,6 +316,7 @@ endif ()
 add_library (common STATIC
     common/trace_callset.cpp
     common/trace_dump.cpp
+    common/trace_fast_callset.cpp
     common/trace_file.cpp
     common/trace_file_read.cpp
     common/trace_file_write.cpp
@@ -324,7 +332,7 @@ add_library (common STATIC
     common/trace_profiler.cpp
     common/trace_option.cpp
     common/${os}
-    common/trace_backtrace.cpp
+    common/os_backtrace.cpp
 )
 
 set_target_properties (common PROPERTIES
@@ -332,6 +340,9 @@ set_target_properties (common PROPERTIES
     COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_CXX_FLAGS}"
 )
 
+target_link_libraries (common
+    ${LIBBACKTRACE_LIBRARIES}
+)
 if (ANDROID)
     target_link_libraries (common
         log