]> git.cworth.org Git - vogl/blob - src/vogltrace/CMakeLists.txt
cmake: Use find_package to find pthreads
[vogl] / src / vogltrace / CMakeLists.txt
1 cmake_minimum_required(VERSION 2.8)
2
3 option(VOGLTRACE_NO_PUBLIC_EXPORTS "Don't define any public GL exports in libvogltraceXX.so, this .so will only be useful for manual loading" FALSE)
4
5 include("${SRC_DIR}/build_options.cmake")
6 find_package(Threads)
7 if (NOT CMAKE_USE_PTHREADS_INIT)
8     message(ERROR "pthread not found")
9 endif ()
10 find_package(X11 REQUIRED)
11
12 project(vogltrace)
13
14 include_directories(${CMAKE_CURRENT_BINARY_DIR})
15
16
17 add_compiler_flag("-DVOGL_REMOTING")
18
19 set(SRC_LIST
20     ${SRC_LIST}
21     vogl_trace.cpp
22     vogl_intercept.cpp
23     vogl_remote.cpp
24     ${SRC_DIR}/common/channel.cpp
25     ${SRC_DIR}/common/mtqueue.cpp
26     ${SRC_DIR}/common/channelmgr.cpp
27     ${SRC_DIR}/common/toclientmsg.cpp
28     ${SRC_DIR}/common/pinggame.cpp
29 )
30
31 if (VOGLTRACE_NO_PUBLIC_EXPORTS)
32         message("libvogltrace.so will NOT define GL/GLX public exports")
33     add_compiler_flag("-DNO_PUBLIC_EXPORTS")
34 else()
35         message("libvogltrace.so will define GL/GLX public exports")
36 endif()
37
38 include_directories(
39     ${SRC_DIR}/libbacktrace
40     ${SRC_DIR}/extlib/loki/include/loki
41     ${SRC_DIR}/voglcommon
42     ${SRC_DIR}/voglinc
43     ${SRC_DIR}/voglcore
44     ${SRC_DIR}/libtelemetry
45     )
46
47 # Not sure if -Wl,-Bsymbolic is needed or useful?
48 add_shared_linker_flag("-Wl,-Bsymbolic")
49 add_shared_linker_flag("-Wl,--version-script=${PROJECT_SOURCE_DIR}/libvogltrace_linker_script.txt")
50
51 add_library(${PROJECT_NAME} SHARED ${SRC_LIST})
52
53 target_link_libraries(${PROJECT_NAME}
54     ${TELEMETRY_LIBRARY}
55     backtrace
56     voglcommon
57     voglcore
58     ${CMAKE_THREAD_LIBS_INIT}
59     ${CMAKE_DL_LIBS}
60     ${X11_X11_LIB}
61     libturbojpeg.a
62     rt
63     )
64
65 build_options_finalize()
66