86 lines
4.3 KiB
CMake
86 lines
4.3 KiB
CMake
# Main variables:
|
|
# OPENNI_LIBRARY and OPENNI_INCLUDES to link OpenCV modules with OpenNI
|
|
# HAVE_OPENNI for conditional compilation OpenCV with/without OpenNI
|
|
|
|
set(OPENNI_LIB_DESCR "Path to the directory of OpenNI libraries" CACHE INTERNAL "Description" )
|
|
set(OPENNI_INCLUDE_DESCR "Path to the directory of OpenNI includes" CACHE INTERNAL "Description" )
|
|
set(OPENNI_PRIME_SENSOR_MODULE_BIN_DESCR "Path to the directory of PrimeSensor Module binaries" CACHE INTERNAL "Description" )
|
|
|
|
if(NOT "${OPENNI_LIB_DIR}" STREQUAL "${OPENNI_LIB_DIR_INTERNAL}")
|
|
unset(OPENNI_LIBRARY CACHE)
|
|
endif()
|
|
|
|
if(NOT "${OPENNI_INCLUDE_DIR}" STREQUAL "${OPENNI_INCLUDE_DIR_INTERNAL}")
|
|
unset(OPENNI_INCLUDES CACHE)
|
|
endif()
|
|
|
|
if(NOT "${OPENNI_PRIME_SENSOR_MODULE_BIN_DIR}" STREQUAL "${OPENNI_PRIME_SENSOR_MODULE_BIN_DIR}")
|
|
unset(OPENNI_PRIME_SENSOR_MODULE CACHE)
|
|
endif()
|
|
|
|
if(NOT OPENNI_LIB_DIR OR OPENNI_LIB_DIR STREQUAL "")
|
|
if(WIN32)
|
|
set(OPENNI_LIB_DIR "c:/Program Files/OpenNI/Lib" CACHE PATH ${OPENNI_LIB_DESCR})
|
|
elseif(UNIX OR APPLE)
|
|
set(OPENNI_LIB_DIR "/usr/lib" CACHE PATH ${OPENNI_LIB_DESCR})
|
|
endif()
|
|
endif()
|
|
|
|
if(NOT OPENNI_INCLUDE_DIR OR OPENNI_INCLUDE_DIR STREQUAL "")
|
|
if(WIN32)
|
|
set(OPENNI_INCLUDE_DIR "c:/Program Files/OpenNI/Include" CACHE PATH ${OPENNI_INCLUDE_DESCR})
|
|
elseif(UNIX OR APPLE)
|
|
set(OPENNI_INCLUDE_DIR "/usr/include/ni" CACHE PATH ${OPENNI_INCLUDE_DESCR})
|
|
endif()
|
|
endif()
|
|
|
|
if(NOT OPENNI_PRIME_SENSOR_MODULE_BIN_DIR OR OPENNI_PRIME_SENSOR_MODULE_BIN_DIR STREQUAL "")
|
|
if(WIN32)
|
|
set(OPENNI_PRIME_SENSOR_MODULE_BIN_DIR "c:/Program Files/Prime Sense/Sensor/Bin" CACHE PATH ${OPENNI_PRIME_SENSOR_MODULE_BIN_DESCR})
|
|
elseif(UNIX OR APPLE)
|
|
set(OPENNI_PRIME_SENSOR_MODULE_BIN_DIR "/usr/lib" CACHE PATH ${OPENNI_PRIME_SENSOR_MODULE_BIN_DESCR})
|
|
endif()
|
|
endif()
|
|
|
|
find_library(OPENNI_LIBRARY "OpenNI" PATHS ${OPENNI_LIB_DIR} DOC "OpenNI library" NO_DEFAULT_PATH)
|
|
find_path(OPENNI_INCLUDES "XnCppWrapper.h" PATHS ${OPENNI_INCLUDE_DIR} DOC "OpenNI c++ interface header" NO_DEFAULT_PATH)
|
|
|
|
if(OPENNI_LIBRARY AND OPENNI_INCLUDES)
|
|
set(HAVE_OPENNI TRUE)
|
|
# the check: are PrimeSensor Modules for OpenNI installed?
|
|
if(WIN32)
|
|
find_file(OPENNI_PRIME_SENSOR_MODULE "XnCore.dll" PATHS ${OPENNI_PRIME_SENSOR_MODULE_BIN_DIR} DOC "Core library of PrimeSensor Modules for OpenNI" NO_DEFAULT_PATH)
|
|
elseif(UNIX OR APPLE)
|
|
find_library(OPENNI_PRIME_SENSOR_MODULE "XnCore" PATHS ${OPENNI_PRIME_SENSOR_MODULE_BIN_DIR} DOC "Core library of PrimeSensor Modules for OpenNI" NO_DEFAULT_PATH)
|
|
endif()
|
|
|
|
if(OPENNI_PRIME_SENSOR_MODULE)
|
|
set(HAVE_OPENNI_PRIME_SENSOR_MODULE TRUE)
|
|
endif()
|
|
endif() #if(OPENNI_LIBRARY AND OPENNI_INCLUDES)
|
|
|
|
if(OPENNI_LIBRARY)
|
|
set(OPENNI_LIB_DIR_INTERNAL "${OPENNI_LIB_DIR}" CACHE INTERNAL "This is the value of the last time OPENNI_LIB_DIR was set successfully." FORCE)
|
|
else()
|
|
set(OPENNI_LIB_DIR "${OPENNI_LIB_DIR}-NOTFOUND or does not have OpenNI libraries" CACHE PATH ${OPENNI_LIB_DESCR} FORCE)
|
|
message( WARNING, " OpenNI library directory (set by OPENNI_LIB_DIR variable) is not found or does not have OpenNI libraries." )
|
|
endif()
|
|
|
|
if(OPENNI_INCLUDES)
|
|
set(OPENNI_INCLUDE_DIR_INTERNAL "${OPENNI_INCLUDE_DIR}" CACHE INTERNAL "This is the value of the last time OPENNI_INCLUDE_DIR was set successfully." FORCE)
|
|
else()
|
|
set(OPENNI_INCLUDE_DIR "${OPENNI_INCLUDE_DIR}-NOTFOUND or does not have OpenNI includes" CACHE PATH ${OPENNI_INCLUDE_DESCR} FORCE)
|
|
message( WARNING, " OpenNI include directory (set by OPENNI_INCLUDE_DIR variable) is not found or does not have OpenNI includes." )
|
|
endif()
|
|
|
|
if(OPENNI_PRIME_SENSOR_MODULE)
|
|
set(OPENNI_PRIME_SENSOR_MODULE_BIN_DIR_INTERNAL "${OPENNI_PRIME_SENSOR_MODULE_BIN_DIR}" CACHE INTERNAL "This is the value of the last time OPENNI_PRIME_SENSOR_MODULE_BIN_DIR was set successfully." FORCE)
|
|
else()
|
|
set(OPENNI_PRIME_SENSOR_MODULE_BIN_DIR "${OPENNI_PRIME_SENSOR_MODULE_BIN_DIR}-NOTFOUND or does not have PrimeSensor Module binaries" CACHE PATH ${OPENNI_PRIME_SENSOR_MODULE_BIN_DESCR} FORCE)
|
|
message( WARNING, " PrimeSensor Module binaries directory (set by OPENNI_PRIME_SENSOR_MODULE_BIN_DIR variable) is not found or does not have PrimeSensor Module binaries." )
|
|
endif()
|
|
|
|
mark_as_advanced(FORCE OPENNI_PRIME_SENSOR_MODULE)
|
|
mark_as_advanced(FORCE OPENNI_LIBRARY)
|
|
mark_as_advanced(FORCE OPENNI_INCLUDES)
|