diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2019-02-09 12:41:15 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2019-02-09 12:41:15 +0100 |
commit | cdb8eecaba54a806348457c080539e70ce2e035e (patch) | |
tree | 33285a4b21d90f858eb9debb144950767967c0eb /tracker-kinect-face/CMakeLists.txt | |
parent | 3b1020fd24b60453220987256b85eb898da1050e (diff) |
tracker/kinect: fix cmake
- fix bogus sdk warning
- quote paths that can contain spaces
- use opentrack-{intel,64bit,hier-pfx}
- shorten module name
- don't use EXISTS with pathname, it should fail at build time
Diffstat (limited to 'tracker-kinect-face/CMakeLists.txt')
-rw-r--r-- | tracker-kinect-face/CMakeLists.txt | 54 |
1 files changed, 26 insertions, 28 deletions
diff --git a/tracker-kinect-face/CMakeLists.txt b/tracker-kinect-face/CMakeLists.txt index 690f82e7..7108eea8 100644 --- a/tracker-kinect-face/CMakeLists.txt +++ b/tracker-kinect-face/CMakeLists.txt @@ -1,42 +1,40 @@ # Kinect SDK is Windows only -if (WIN32) +if (WIN32 AND opentrack-intel) find_package(OpenCV QUIET) if(OpenCV_FOUND) - # Setup cache variable to Kinect SDK path - if(DEFINED ENV{KINECTSDK20_DIR}) - set(SDK_KINECT20 $ENV{KINECTSDK20_DIR} CACHE PATH $ENV{KINECTSDK20_DIR}) - else() - set(SDK_KINECT20 $ENV{KINECTSDK20_DIR} CACHE PATH "") - endif() - + # Setup cache variable to Kinect SDK path + set(SDK_KINECT20 "$ENV{KINECTSDK20_DIR}" CACHE PATH "Kinect SDK path") # If we have a valid SDK path, try build that tracker - if(EXISTS ${SDK_KINECT20}) + if(SDK_KINECT20) # Register our module otr_module(tracker-kinect-face) - # Add include path to Kinect SDK - target_include_directories(opentrack-tracker-kinect-face SYSTEM PUBLIC "${SDK_KINECT20}/inc") - - # Check processor architecture - if(CMAKE_SIZEOF_VOID_P EQUAL 4) - # 32 bits - set (kinect-arch-dir "x86") - elseif(CMAKE_SIZEOF_VOID_P EQUAL 8) - # 64 bits - set (kinect-arch-dir "x64") + if(MSVC) + # workaround warning in SDK + target_compile_options(${self} PUBLIC "-wd4471") + endif() + + # Add include path to Kinect SDK + target_include_directories(${self} SYSTEM PRIVATE "${SDK_KINECT20}/inc") + + # Check processor architecture + if(NOT opentrack-64bit) + # 32 bits + set(kinect-arch-dir "x86") else() - message(FATAL_ERROR "Kinect: architecture not supported!") + # 64 bits + set(kinect-arch-dir "x64") endif() - + # Link against Kinect SDK libraries - target_link_libraries(opentrack-tracker-kinect-face "${SDK_KINECT20}/lib/${kinect-arch-dir}/Kinect20.lib" "${SDK_KINECT20}/lib/${kinect-arch-dir}/Kinect20.Face.lib") + target_link_libraries(${self} "${SDK_KINECT20}/lib/${kinect-arch-dir}/Kinect20.lib" "${SDK_KINECT20}/lib/${kinect-arch-dir}/Kinect20.Face.lib") # Link against OpenCV stuff, needed for video preview - target_link_libraries(opentrack-tracker-kinect-face opencv_imgproc opentrack-cv opencv_core) + target_link_libraries(${self} opentrack-cv) # Install Kinect Face DLL - install(FILES "${SDK_KINECT20}/Redist/Face/${kinect-arch-dir}/Kinect20.Face.dll" DESTINATION "./modules/" PERMISSIONS ${opentrack-perms-exec}) + install(FILES "${SDK_KINECT20}/Redist/Face/${kinect-arch-dir}/Kinect20.Face.dll" DESTINATION "${opentrack-hier-pfx}" PERMISSIONS ${opentrack-perms-exec}) # Install Kinect Face Database - install(DIRECTORY "${SDK_KINECT20}/Redist/Face/${kinect-arch-dir}/NuiDatabase" DESTINATION "./modules/") - endif(EXISTS ${SDK_KINECT20}) - endif(OpenCV_FOUND) -endif(WIN32)
\ No newline at end of file + install(DIRECTORY "${SDK_KINECT20}/Redist/Face/${kinect-arch-dir}/NuiDatabase" DESTINATION "${opentrack-hier-pfx}") + endif() + endif() +endif() |