]> git.cworth.org Git - vogl/blob - src/vogltrace/CMakeLists.txt
d15fcc06f2f335cae528c39fc6a853e02062ab26
[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(X11 REQUIRED)
7
8 project(vogltrace)
9
10 include_directories(${CMAKE_CURRENT_BINARY_DIR})
11
12
13 add_compiler_flag("-DVOGL_REMOTING")
14
15 set(SRC_LIST
16     ${SRC_LIST}
17     vogl_trace.cpp
18     vogl_intercept.cpp
19     vogl_remote.cpp
20     ${SRC_DIR}/common/channel.cpp
21     ${SRC_DIR}/common/mtqueue.cpp
22     ${SRC_DIR}/common/channelmgr.cpp
23     ${SRC_DIR}/common/toclientmsg.cpp
24     ${SRC_DIR}/common/pinggame.cpp
25 )
26
27 if (VOGLTRACE_NO_PUBLIC_EXPORTS)
28         message("libvogltrace.so will NOT define GL/GLX public exports")
29     add_compiler_flag("-DNO_PUBLIC_EXPORTS")
30 else()
31         message("libvogltrace.so will define GL/GLX public exports")
32 endif()
33
34 include_directories(
35     ${SRC_DIR}/libbacktrace
36     ${SRC_DIR}/extlib/loki/include/loki
37     ${SRC_DIR}/voglcommon
38     ${SRC_DIR}/voglinc
39     ${SRC_DIR}/voglcore
40     ${SRC_DIR}/libtelemetry
41     )
42
43 # Not sure if -Wl,-Bsymbolic is needed or useful?
44 add_shared_linker_flag("-Wl,-Bsymbolic")
45 add_shared_linker_flag("-Wl,--version-script=${PROJECT_SOURCE_DIR}/libvogltrace_linker_script.txt")
46
47 add_library(${PROJECT_NAME} SHARED ${SRC_LIST})
48
49 target_link_libraries(${PROJECT_NAME}
50     ${TELEMETRY_LIBRARY}
51     backtrace
52     voglcommon
53     voglcore
54     pthread
55     ${CMAKE_DL_LIBS}
56     ${X11_X11_LIB}
57     libturbojpeg.a
58     rt
59     )
60
61 build_options_finalize()
62