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