Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update finder scripts for Ensenso, OpenNI, and OpenNI2 #2061

Merged
merged 1 commit into from
Nov 8, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 37 additions & 24 deletions cmake/Modules/FindEnsenso.cmake
Original file line number Diff line number Diff line change
@@ -1,35 +1,48 @@
###############################################################################
# - Try to find Ensenso SDK (IDS-Imaging)
# Once done this will define
# ENSENSO_FOUND - System has Ensenso SDK
# ENSENSO_INCLUDE_DIRS - The Ensenso SDK include directories
# ENSENSO_LIBRARIES - The libraries needed to use Ensenso SDK
# ENSENSO_DEFINITIONS - Compiler switches required for using Ensenso SDK
# -----------------------
# Find Ensenso SDK (IDS-Imaging)
#
# find_package(Ensenso)
#
# Variables defined by this module:
#
# ENSENSO_FOUND True if Ensenso SDK was found
# ENSENSO_INCLUDE_DIRS The location(s) of Ensenso SDK headers
# ENSENSO_LIBRARIES Libraries needed to use Ensenso SDK

find_path(ENSENSO_INCLUDE_DIR nxLib.h
HINTS ${ENSENSO_ABI_HINT}
/opt/ensenso/development/c
"$ENV{PROGRAMFILES}/Ensenso/development/c" "$ENV{PROGRAMW6432}/Ensenso/development/c"
HINTS "${ENSENSO_ABI_HINT}"
"/opt/ensenso/development/c"
"$ENV{PROGRAMFILES}/Ensenso/development/c"
"$ENV{PROGRAMW6432}/Ensenso/development/c"
PATH_SUFFIXES include/)

find_library(ENSENSO_LIBRARY QUIET NAMES NxLib64 NxLib32 nxLib64 nxLib32
HINTS ${ENSENSO_ABI_HINT}
"$ENV{PROGRAMFILES}/Ensenso/development/c" "$ENV{PROGRAMW6432}/Ensenso/development/c"
find_library(ENSENSO_LIBRARY QUIET
NAMES NxLib64 NxLib32 nxLib64 nxLib32
HINTS "${ENSENSO_ABI_HINT}"
"$ENV{PROGRAMFILES}/Ensenso/development/c"
"$ENV{PROGRAMW6432}/Ensenso/development/c"
PATH_SUFFIXES lib/)

set(ENSENSO_LIBRARIES ${ENSENSO_LIBRARY})
set(ENSENSO_INCLUDE_DIRS ${ENSENSO_INCLUDE_DIR})
if(ENSENSO_INCLUDE_DIR AND ENSENSO_LIBRARY)

include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set ENSENSO_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(ensenso DEFAULT_MSG
ENSENSO_LIBRARY ENSENSO_INCLUDE_DIR)
# Include directories
set(ENSENSO_INCLUDE_DIRS ${ENSENSO_INCLUDE_DIR})
unset(ENSENSO_INCLUDE_DIR)
mark_as_advanced(ENSENSO_INCLUDE_DIRS)

mark_as_advanced(ENSENSO_INCLUDE_DIR ENSENSO_LIBRARY)
# Libraries
set(ENSENSO_LIBRARIES ${ENSENSO_LIBRARY})
unset(ENSENSO_LIBRARY)
mark_as_advanced(ENSENSO_LIBRARIES)

if(ENSENSO_FOUND)
message(STATUS "Ensenso SDK found")
endif(ENSENSO_FOUND)
endif()

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(ENSENSO
FOUND_VAR ENSENSO_FOUND
REQUIRED_VARS ENSENSO_LIBRARIES ENSENSO_INCLUDE_DIRS
)

if(ENSENSO_FOUND)
message(STATUS "Ensenso found (include: ${ENSENSO_INCLUDE_DIRS}, lib: ${ENSENSO_LIBRARIES})")
endif()
65 changes: 44 additions & 21 deletions cmake/Modules/FindOpenNI.cmake
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
###############################################################################
# Find OpenNI
#
# This sets the following variables:
# OPENNI_FOUND - True if OPENNI was found.
# OPENNI_INCLUDE_DIRS - Directories containing the OPENNI include files.
# OPENNI_LIBRARIES - Libraries needed to use OPENNI.
# OPENNI_DEFINITIONS - Compiler flags for OPENNI.
# find_package(OpenNI)
#
# For libusb-1.0, add USB_10_ROOT if not found
# Variables defined by this module:
#
# OPENNI_FOUND True if OpenNI was found
# OPENNI_INCLUDE_DIRS The location(s) of OpenNI headers
# OPENNI_LIBRARIES Libraries needed to use OpenNI
# OPENNI_DEFINITIONS Compiler flags for OpenNI

find_package(PkgConfig QUIET)

Expand Down Expand Up @@ -47,31 +48,53 @@ if(WIN32 AND CMAKE_SIZEOF_VOID_P EQUAL 8)
set(OPENNI_SUFFIX 64)
endif(WIN32 AND CMAKE_SIZEOF_VOID_P EQUAL 8)

#add a hint so that it can find it without the pkg-config
# Add a hint so that it can find it without the pkg-config
find_path(OPENNI_INCLUDE_DIR XnStatus.h
HINTS ${PC_OPENNI_INCLUDEDIR} ${PC_OPENNI_INCLUDE_DIRS} /usr/include/openni /usr/include/ni /opt/local/include/ni "${OPENNI_ROOT}" "$ENV{OPENNI_ROOT}"
HINTS ${PC_OPENNI_INCLUDEDIR}
${PC_OPENNI_INCLUDE_DIRS}
/usr/include/openni
/usr/include/ni
/opt/local/include/ni
"${OPENNI_ROOT}"
"$ENV{OPENNI_ROOT}"
PATHS "$ENV{OPEN_NI_INSTALL_PATH${OPENNI_SUFFIX}}/Include"
PATH_SUFFIXES openni include Include)
#add a hint so that it can find it without the pkg-config

# Add a hint so that it can find it without the pkg-config
find_library(OPENNI_LIBRARY
NAMES OpenNI${OPENNI_SUFFIX}
HINTS ${PC_OPENNI_LIBDIR} ${PC_OPENNI_LIBRARY_DIRS} /usr/lib "${OPENNI_ROOT}" "$ENV{OPENNI_ROOT}"
HINTS ${PC_OPENNI_LIBDIR}
${PC_OPENNI_LIBRARY_DIRS}
/usr/lib
"${OPENNI_ROOT}"
"$ENV{OPENNI_ROOT}"
PATHS "$ENV{OPEN_NI_LIB${OPENNI_SUFFIX}}"
PATH_SUFFIXES lib Lib Lib64)

if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
set(OPENNI_LIBRARIES ${OPENNI_LIBRARY} ${LIBUSB_1_LIBRARIES})
else()
set(OPENNI_LIBRARIES ${OPENNI_LIBRARY})
if(OPENNI_INCLUDE_DIR AND OPENNI_LIBRARY)

# Include directories
set(OPENNI_INCLUDE_DIRS ${OPENNI_INCLUDE_DIR})
unset(OPENNI_INCLUDE_DIR)
mark_as_advanced(OPENNI_INCLUDE_DIRS)

# Libraries
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
set(OPENNI_LIBRARIES ${OPENNI_LIBRARY} ${LIBUSB_1_LIBRARIES})
else()
set(OPENNI_LIBRARIES ${OPENNI_LIBRARY})
endif()
unset(OPENNI_LIBRARY)
mark_as_advanced(OPENNI_LIBRARIES)

endif()

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(OpenNI DEFAULT_MSG OPENNI_LIBRARY OPENNI_INCLUDE_DIR)

mark_as_advanced(OPENNI_LIBRARY OPENNI_INCLUDE_DIR)
find_package_handle_standard_args(OpenNI
FOUND_VAR OPENNI_FOUND
REQUIRED_VARS OPENNI_LIBRARIES OPENNI_INCLUDE_DIRS
)

if(OPENNI_FOUND)
# Add the include directories
set(OPENNI_INCLUDE_DIRS ${OPENNI_INCLUDE_DIR})
message(STATUS "OpenNI found (include: ${OPENNI_INCLUDE_DIRS}, lib: ${OPENNI_LIBRARY})")
endif(OPENNI_FOUND)
message(STATUS "OpenNI found (include: ${OPENNI_INCLUDE_DIRS}, lib: ${OPENNI_LIBRARIES})")
endif()
72 changes: 42 additions & 30 deletions cmake/Modules/FindOpenNI2.cmake
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
###############################################################################
# Find OpenNI 2
# Find OpenNI2
#
# This sets the following variables:
# OPENNI2_FOUND - True if OPENNI 2 was found.
# OPENNI2_INCLUDE_DIRS - Directories containing the OPENNI 2 include files.
# OPENNI2_LIBRARIES - Libraries needed to use OPENNI 2.
# OPENNI2_DEFINITIONS - Compiler flags for OPENNI 2.
# find_package(OpenNI2)
#
# For libusb-1.0, add USB_10_ROOT if not found
# Variables defined by this module:
#
# OPENNI2_FOUND True if OpenNI2 was found
# OPENNI2_INCLUDE_DIRS The location(s) of OpenNI2 headers
# OPENNI2_LIBRARIES Libraries needed to use OpenNI2
# OPENNI2_DEFINITIONS Compiler flags for OpenNI2

find_package(PkgConfig QUIET)

Expand Down Expand Up @@ -47,34 +48,45 @@ if(WIN32 AND CMAKE_SIZEOF_VOID_P EQUAL 8)
set(OPENNI2_SUFFIX 64)
endif(WIN32 AND CMAKE_SIZEOF_VOID_P EQUAL 8)

find_path(OPENNI2_INCLUDE_DIRS OpenNI.h
PATHS
"$ENV{OPENNI2_INCLUDE${OPENNI2_SUFFIX}}" # Win64 needs '64' suffix
/usr/include/openni2 # common path for deb packages
find_path(OPENNI2_INCLUDE_DIR OpenNI.h
PATHS "$ENV{OPENNI2_INCLUDE${OPENNI2_SUFFIX}}" # Win64 needs '64' suffix
"/usr/include/openni2" # common path for deb packages
)

find_library(OPENNI2_LIBRARY
NAMES OpenNI2 # No suffix needed on Win64
libOpenNI2 # Linux
PATHS "$ENV{OPENNI2_LIB${OPENNI2_SUFFIX}}" # Windows default path, Win64 needs '64' suffix
"$ENV{OPENNI2_REDIST}" # Linux install does not use a separate 'lib' directory
)

if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
set(OPENNI2_LIBRARIES ${OPENNI2_LIBRARY} ${LIBUSB_1_LIBRARIES})
else()
set(OPENNI2_LIBRARIES ${OPENNI2_LIBRARY})
endif()

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(OpenNI2 DEFAULT_MSG OPENNI2_LIBRARY OPENNI2_INCLUDE_DIRS)
NAMES OpenNI2 # No suffix needed on Win64
libOpenNI2 # Linux
PATHS "$ENV{OPENNI2_LIB${OPENNI2_SUFFIX}}" # Windows default path, Win64 needs '64' suffix
"$ENV{OPENNI2_REDIST}" # Linux install does not use a separate 'lib' directory
)

mark_as_advanced(OPENNI2_LIBRARY OPENNI2_INCLUDE_DIRS)
if(OPENNI2_INCLUDE_DIR AND OPENNI2_LIBRARY)

if(OPENNI2_FOUND)
# Add the include directories
# Include directories
set(OPENNI2_INCLUDE_DIRS ${OPENNI2_INCLUDE_DIR})
unset(OPENNI2_INCLUDE_DIR)
mark_as_advanced(OPENNI2_INCLUDE_DIRS)

# Libraries
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
set(OPENNI2_LIBRARIES ${OPENNI2_LIBRARY} ${LIBUSB_1_LIBRARIES})
else()
set(OPENNI2_LIBRARIES ${OPENNI2_LIBRARY})
endif()
unset(OPENNI2_LIBRARY)
mark_as_advanced(OPENNI2_LIBRARIES)

set(OPENNI2_REDIST_DIR $ENV{OPENNI2_REDIST${OPENNI2_SUFFIX}})
message(STATUS "OpenNI 2 found (include: ${OPENNI2_INCLUDE_DIRS}, lib: ${OPENNI2_LIBRARY}, redist: ${OPENNI2_REDIST_DIR})")
endif(OPENNI2_FOUND)
mark_as_advanced(OPENNI2_REDIST_DIR)

endif()

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(OpenNI2
FOUND_VAR OPENNI2_FOUND
REQUIRED_VARS OPENNI2_LIBRARIES OPENNI2_INCLUDE_DIRS
)

if(OPENNI2_FOUND)
message(STATUS "OpenNI2 found (include: ${OPENNI2_INCLUDE_DIRS}, lib: ${OPENNI2_LIBRARIES})")
endif()