diff options
Diffstat (limited to 'CMakeLists.txt')
-rwxr-xr-x[-rw-r--r--] | CMakeLists.txt | 154 |
1 files changed, 12 insertions, 142 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index a444bce3..cdd69a57 100644..100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -57,7 +57,7 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOMOC OFF) set(CMAKE_POSITION_INDEPENDENT_CODE ON) -find_package(OpenCV 3.0) +find_package(OpenCV 3.0 REQUIRED) find_package(Qt5 REQUIRED COMPONENTS Core Xml Network Widgets Gui QUIET) find_package(Qt5 COMPONENTS SerialPort QUIET) @@ -141,6 +141,10 @@ macro(opentrack_library n dir) add_library(${n} ${link-mode} ${${n}-all}) target_link_libraries(${n} opentrack-api ${MY_QT_LIBS} opentrack-compat) if(CMAKE_COMPILER_IS_GNUCXX AND NOT APPLE) + set(visibility "-fvisibility=hidden -fvisibility-inlines-hidden") + if (foolib_STATIC) + set(visibility) + endif() SET_TARGET_PROPERTIES(${n} PROPERTIES LINK_FLAGS "${foolib_LINK} ${foolib_GNU-LINK} -Wl,--as-needed -Wl,--version-script=\"${CMAKE_SOURCE_DIR}/opentrack-compat/${version-script}-version-script.txt\"" COMPILE_FLAGS "${foolib_COMPILE} ${foolib_GNU-COMPILE} -fvisibility=hidden -fvisibility-inlines-hidden" @@ -181,20 +185,8 @@ endif() if(LINUX OR APPLE) set(SDK_XPLANE "" CACHE PATH "Path to X-Plane SDK") - set(SDK_ENABLE_LIBEVDEV FALSE CACHE BOOL "libevdev virtual joystick protocol support") endif() -SET(SDK_HYDRA "" CACHE PATH "libSixense path for Razer Hydra") -SET(SDK_HYDRA_AMD64 FALSE CACHE BOOL "whether libSixense is amd64 (else ia-32)") -SET(SDK_RIFT_080 "" CACHE PATH "libOVR path for Oculus Rift") -SET(SDK_RIFT_042 "" CACHE PATH "libOVR path for Oculus Rift") -SET(SDK_RIFT_025 "" CACHE PATH "libOVR 0.2.5 path for Oculus Rift") - -set(SDK_ARUCO_LIBPATH "" CACHE FILEPATH "Aruco paper marker tracker static library path") - -set(SDK_HT "" CACHE FILEPATH "Path to headtracker library") -set(SDK_HT_FLANDMARK "" CACHE FILEPATH "Path to flandmark library for headtracker") - if(WIN32) set(SDK_FSUIPC "" CACHE PATH "FSUIPC for older MS FSX path") endif() @@ -315,9 +307,8 @@ target_link_libraries(opentrack-spline-widget ${MY_QT_LIBS}) add_library(opentrack-version STATIC ${CMAKE_BINARY_DIR}/version.cc) opentrack_compat(opentrack-version) -opentrack_library(opentrack-filter-accela ftnoir_filter_accela) +opentrack_library(opentrack-filter-accela ftnoir_filter_accela STATIC TRUE) target_link_libraries(opentrack-filter-accela opentrack-spline-widget) -opentrack_library(opentrack-filter-ewma ftnoir_filter_ewma2) opentrack_library(opentrack-proto-fgfs ftnoir_protocol_fg) @@ -347,7 +338,6 @@ if(SDK_FSUIPC) if(MSVC) set_target_properties(opentrack-proto-fsuipc PROPERTIES LINK_FLAGS "/NODEFAULTLIB:LIBC.lib") endif() - #target_link_directories(${SDK_FSUIPC}) endif() if(WIN32) @@ -362,16 +352,6 @@ endif() opentrack_library(opentrack-proto-udp ftnoir_protocol_ftn) -if(WIN32) - opentrack_library(opentrack-tracker-joystick ftnoir_tracker_joystick) -endif() - -if(Qt5SerialPort_FOUND) - opentrack_library(opentrack-tracker-hatire ftnoir_tracker_hatire) - target_link_libraries(opentrack-tracker-hatire ${Qt5SerialPort_LIBRARIES}) - target_include_directories(opentrack-tracker-hatire SYSTEM PUBLIC ${Qt5SerialPort_INCLUDE_DIRS}) -endif() - if(SDK_WINE_PREFIX) opentrack_library(opentrack-proto-wine ftnoir_protocol_wine) target_link_libraries(opentrack-proto-wine opentrack-compat opentrack-csv) @@ -394,122 +374,14 @@ if(SDK_WINE_PREFIX) endif() endif() -opentrack_library(opentrack-tracker-udp ftnoir_tracker_udp) -opentrack_library(opentrack-tracker-freepie-udp ftnoir_tracker_freepie-udp) - -if(WIN32) - opentrack_library(opentrack-tracker-rs ftnoir_tracker_rs) -endif() - if(OpenCV_FOUND) - opentrack_library(opentrack-tracker-pt ftnoir_tracker_pt) + opentrack_library(opentrack-tracker-pt ftnoir_tracker_pt STATIC YES) target_link_libraries(opentrack-tracker-pt ${OpenCV_LIBS}) target_include_directories(opentrack-tracker-pt SYSTEM PUBLIC ${OpenCV_INCLUDE_DIRS}) link_with_dinput8(opentrack-tracker-pt) - - if(SDK_ARUCO_LIBPATH) - opentrack_library(opentrack-tracker-aruco ftnoir_tracker_aruco) - target_link_libraries(opentrack-tracker-aruco ${SDK_ARUCO_LIBPATH} ${OpenCV_LIBS}) - target_include_directories(opentrack-tracker-aruco SYSTEM PUBLIC ${OpenCV_INCLUDE_DIRS}) - link_with_dinput8(opentrack-tracker-aruco) - endif() - - opentrack_library(opentrack-filter-kalman ftnoir_filter_kalman) - target_link_libraries(opentrack-filter-kalman ${OpenCV_LIBS}) - target_include_directories(opentrack-filter-kalman SYSTEM PUBLIC ${OpenCV_INCLUDE_DIRS}) - - if(SDK_HT AND SDK_HT_FLANDMARK) - opentrack_library(opentrack-tracker-ht ftnoir_tracker_ht) - target_link_libraries(opentrack-tracker-ht ${SDK_HT} ${SDK_HT_FLANDMARK} ${OpenCV_LIBS}) - link_with_dinput8(opentrack-tracker-ht) - target_include_directories(opentrack-tracker-ht SYSTEM PUBLIC ${OpenCV_INCLUDE_DIRS}) - endif() -endif() - -link_with_dinput8(opentrack-tracker-joystick) - -foreach(ver 025 042 080) - if(SDK_RIFT_${ver}) - set(link-flags) - set(c-flags) - if(APPLE) - set(link-flags "-framework CoreFoundation -framework CoreGraphics -framework IOKit -framework Quartz") - set(c-flags "-fno-strict-aliasing") - else() - if(NOT MSVC) - set(c-flags "-fno-strict-aliasing") - endif() - endif() - opentrack_library(opentrack-tracker-rift-${ver} ftnoir_tracker_rift_${ver} LINK ${link-flags} COMPILE ${c-flags}) - target_include_directories(opentrack-tracker-rift-${ver} SYSTEM PUBLIC - ${SDK_RIFT_${ver}}/Include ${SDK_RIFT_${ver}}/Src - ) - if(WIN32) - if(MSVC) - set(ext lib) - set(p) - else() - set(ext a) - set(p lib) - endif() - target_link_libraries(opentrack-tracker-rift-${ver} ${SDK_RIFT_${ver}}/${p}LibOVR.${ext} winmm setupapi ws2_32 imagehlp wbemuuid) - else() - if(NOT APPLE) - target_link_libraries(opentrack-tracker-rift-${ver} ${SDK_RIFT_${ver}}/libLibOVR.a udev Xinerama) - else() - target_link_libraries(opentrack-tracker-rift-${ver} ${SDK_RIFT_${ver}}/libLibOVR.a) - endif() - endif() - endif() -endforeach() - -if(SDK_HYDRA) - opentrack_library(opentrack-tracker-hydra ftnoir_tracker_hydra) - target_include_directories(opentrack-tracker-hydra SYSTEM PUBLIC ${SDK_HYDRA}/include ${SDK_HYDRA}/include/sixense_utils) - if(WIN32) - if(MSVC) - set(dir lib) - set(ext lib) - else() - set(dir bin) - set(ext dll) - endif() - target_link_libraries(opentrack-tracker-hydra - "${SDK_HYDRA}/${dir}/win32/release_dll/sixense.${ext}" - #"${SDK_HYDRA}/${dir}/win32/release_dll/sixense_utils.${ext}" - ) - install(FILES "${SDK_HYDRA}/bin/win32/release_dll/sixense.dll" - #"${SDK_HYDRA}/bin/win32/release_dll/sixense_utils.dll" - DESTINATION . ${opentrack-perms}) - else() - if(SDK_HYDRA_AMD64) - set(underscore-sixtyfour _x64) - else() - set(underscore-sixtyfour) - endif() - if(APPLE) - set(underscore-dll _dll) - set(soext dylib) - set(sixense-plat osx) - else() - set(underscore-dll) - set(soext so) - set(sixense-plat linux) - endif() - install(FILES - "${SDK_HYDRA}/lib/${sixense-plat}${underscore-sixtyfour}/release${underscore-dll}/libsixense${underscore-sixtyfour}.${soext}" - #"${SDK_HYDRA}/lib/${sixense-plat}${underscore-sixtyfour}/release${underscore-dll}/libsixense_utils${underscore-sixtyfour}.${soext}" - DESTINATION . - ) - target_link_libraries(opentrack-tracker-hydra - "${SDK_HYDRA}/lib/${sixense-plat}${underscore-sixtyfour}/release${underscore-dll}/libsixense${underscore-sixtyfour}.${soext}" - #"${SDK_HYDRA}/lib/${sixense-plat}${underscore-sixtyfour}/release${underscore-dll}/libsixense_utils${underscore-sixtyfour}.${soext}" - ) - endif() endif() if(UNIX OR APPLE) - # Qxt bundled :: sorry for this, but gentoo ebuild is broken include_directories("qxt-mini/") if(APPLE) set(qxt-plat mac) @@ -532,11 +404,13 @@ else() endif() opentrack_module(opentrack facetracknoir) + if(UNIX OR APPLE) list(APPEND opentrack-c qxt-mini/qxtglobalshortcut.h) endif() opentrack_qt(opentrack) add_executable(opentrack ${opentrack-win32-executable} ${opentrack-all}) +target_link_libraries(opentrack opentrack-filter-accela opentrack-tracker-pt) opentrack_compat(opentrack) if(NOT WIN32) set_target_properties(opentrack PROPERTIES SUFFIX ".bin") @@ -550,6 +424,8 @@ endif() if(UNIX OR APPLE) target_link_libraries(opentrack opentrack-qxt-mini) endif() +target_include_directories(opentrack SYSTEM PUBLIC ${OpenCV_INCLUDE_DIRS}) +target_link_libraries(opentrack ${OpenCV_LIBS}) link_with_dinput8(opentrack) target_link_libraries(opentrack ${MY_QT_LIBS}) @@ -581,7 +457,7 @@ install(DIRECTORY ${CMAKE_SOURCE_DIR}/3rdparty-notices DESTINATION .) install(FILES "${CMAKE_SOURCE_DIR}/bin/freetrackclient.dll" DESTINATION . ${opentrack-perms}) install(FILES "${CMAKE_SOURCE_DIR}/bin/NPClient.dll" "${CMAKE_SOURCE_DIR}/bin/NPClient64.dll" "${CMAKE_SOURCE_DIR}/bin/TrackIR.exe" DESTINATION . ${opentrack-perms}) -install(DIRECTORY "${CMAKE_SOURCE_DIR}/bin/settings" "${CMAKE_SOURCE_DIR}/contrib" DESTINATION .) +install(DIRECTORY "${CMAKE_SOURCE_DIR}/bin/settings" DESTINATION .) if(NOT WIN32 AND SDK_WINE_PREFIX AND NOT SDK_WINE_NO_WRAPPER) install(FILES "${CMAKE_BINARY_DIR}/opentrack-wrapper-wine.exe.so" @@ -598,12 +474,6 @@ if(WIN32) install(FILES "${CMAKE_SOURCE_DIR}/bin/cleye.config" DESTINATION .) endif() -if(WIN32) - install(FILES "${CMAKE_SOURCE_DIR}/ftnoir_tracker_rs/rs_impl/bin/opentrack-tracker-rs-impl.exe" DESTINATION . ${opentrack-perms}) - install(FILES - "${CMAKE_SOURCE_DIR}/ftnoir_tracker_rs/redist/intel_rs_sdk_runtime_websetup_6.0.21.6598.exe" DESTINATION ./contrib/ ${opentrack-perms}) -endif() - if(APPLE) install(CODE " execute_process(COMMAND /bin/sh \"${CMAKE_SOURCE_DIR}/macosx/make-app-bundle.sh\" |