mirror of
https://github.com/introlab/rtabmap_ros.git
synced 2026-10-03 16:27:46 +08:00
CMake: added build options WITH_*** for all optional dependencies
This commit is contained in:
+62
-17
@@ -121,26 +121,57 @@ IF(APPLE)
|
|||||||
ENDIF(APPLE)
|
ENDIF(APPLE)
|
||||||
|
|
||||||
####### DEPENDENCIES #######
|
####### DEPENDENCIES #######
|
||||||
|
|
||||||
|
option(WITH_QT "Include Qt support" ON)
|
||||||
|
option(WITH_FREENECT "Include Freenect support" ON)
|
||||||
|
option(WITH_FREENECT2 "Include Freenect2 support" ON)
|
||||||
|
option(WITH_OPENNI2 "Include OpenNI2 support" ON)
|
||||||
|
option(WITH_DC1394 "Include dc1394 support" ON)
|
||||||
|
option(WITH_G2O "Include g2o support" ON)
|
||||||
|
option(WITH_FLYCAPTURE2 "Include FlyCapture2/Triclops support" ON)
|
||||||
|
|
||||||
FIND_PACKAGE(OpenCV REQUIRED)
|
FIND_PACKAGE(OpenCV REQUIRED)
|
||||||
FIND_PACKAGE(PCL 1.7 REQUIRED)
|
FIND_PACKAGE(PCL 1.7 REQUIRED)
|
||||||
FIND_PACKAGE(VTK REQUIRED)
|
|
||||||
IF("${VTK_MAJOR_VERSION}" EQUAL 5)
|
|
||||||
FIND_PACKAGE(QVTK REQUIRED) # only for VTK 5
|
|
||||||
ENDIF("${VTK_MAJOR_VERSION}" EQUAL 5)
|
|
||||||
FIND_PACKAGE(ZLIB REQUIRED)
|
FIND_PACKAGE(ZLIB REQUIRED)
|
||||||
FIND_PACKAGE(Freenect)
|
|
||||||
FIND_PACKAGE(freenect2 QUIET)
|
|
||||||
FIND_PACKAGE(OpenNI2)
|
|
||||||
FIND_PACKAGE(DC1394)
|
|
||||||
FIND_PACKAGE(G2O)
|
|
||||||
FIND_PACKAGE(FlyCapture2)
|
|
||||||
|
|
||||||
|
IF(WITH_QT)
|
||||||
# If Qt is here, the GUI will be built
|
# If Qt is here, the GUI will be built
|
||||||
IF("${RTABMAP_QT_VERSION}" STREQUAL "4")
|
IF("${RTABMAP_QT_VERSION}" STREQUAL "4")
|
||||||
FIND_PACKAGE(Qt4 COMPONENTS QtCore QtGui QtSvg)
|
FIND_PACKAGE(Qt4 COMPONENTS QtCore QtGui QtSvg)
|
||||||
ELSE()
|
ELSE()
|
||||||
FIND_PACKAGE(Qt5 COMPONENTS Widgets Core Gui Svg)
|
FIND_PACKAGE(Qt5 COMPONENTS Widgets Core Gui Svg)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
IF(QT4_FOUND OR Qt5_FOUND)
|
||||||
|
FIND_PACKAGE(VTK REQUIRED)
|
||||||
|
IF("${VTK_MAJOR_VERSION}" EQUAL 5)
|
||||||
|
FIND_PACKAGE(QVTK REQUIRED) # only for VTK 5
|
||||||
|
ENDIF("${VTK_MAJOR_VERSION}" EQUAL 5)
|
||||||
|
ENDIF(QT4_FOUND OR Qt5_FOUND)
|
||||||
|
ENDIF(WITH_QT)
|
||||||
|
|
||||||
|
IF(WITH_FREENECT)
|
||||||
|
FIND_PACKAGE(Freenect)
|
||||||
|
ENDIF(WITH_FREENECT)
|
||||||
|
|
||||||
|
IF(WITH_FREENECT2)
|
||||||
|
FIND_PACKAGE(freenect2 QUIET)
|
||||||
|
ENDIF(WITH_FREENECT2)
|
||||||
|
|
||||||
|
IF(WITH_OPENNI2)
|
||||||
|
FIND_PACKAGE(OpenNI2)
|
||||||
|
ENDIF(WITH_OPENNI2)
|
||||||
|
|
||||||
|
IF(WITH_DC1394)
|
||||||
|
FIND_PACKAGE(DC1394)
|
||||||
|
ENDIF(WITH_DC1394)
|
||||||
|
|
||||||
|
IF(WITH_G2O)
|
||||||
|
FIND_PACKAGE(G2O)
|
||||||
|
ENDIF(WITH_G2O)
|
||||||
|
|
||||||
|
IF(WITH_FLYCAPTURE2)
|
||||||
|
FIND_PACKAGE(FlyCapture2)
|
||||||
|
ENDIF(WITH_FLYCAPTURE2)
|
||||||
|
|
||||||
####### OSX BUNDLE CMAKE_INSTALL_PREFIX #######
|
####### OSX BUNDLE CMAKE_INSTALL_PREFIX #######
|
||||||
IF(APPLE AND BUILD_AS_BUNDLE)
|
IF(APPLE AND BUILD_AS_BUNDLE)
|
||||||
@@ -183,8 +214,8 @@ ADD_SUBDIRECTORY( corelib )
|
|||||||
IF(Qt5_FOUND OR (QT4_FOUND AND QT_QTCORE_FOUND AND QT_QTGUI_FOUND))
|
IF(Qt5_FOUND OR (QT4_FOUND AND QT_QTCORE_FOUND AND QT_QTGUI_FOUND))
|
||||||
ADD_SUBDIRECTORY( guilib )
|
ADD_SUBDIRECTORY( guilib )
|
||||||
ADD_SUBDIRECTORY( app )
|
ADD_SUBDIRECTORY( app )
|
||||||
ELSE()
|
ELSEIF(WITH_QT)
|
||||||
MESSAGE(STATUS "[WARNING] Qt not found, the GUI lib and the stand-alone application will not be compiled...")
|
MESSAGE(WARNING "Qt not found, the GUI lib and the stand-alone application will not be compiled...")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
ADD_SUBDIRECTORY( tools )
|
ADD_SUBDIRECTORY( tools )
|
||||||
@@ -346,36 +377,48 @@ ENDIF(OpenCV_FOUND)
|
|||||||
|
|
||||||
IF(Freenect_FOUND)
|
IF(Freenect_FOUND)
|
||||||
MESSAGE(STATUS " With Freenect = YES")
|
MESSAGE(STATUS " With Freenect = YES")
|
||||||
|
ELSEIF(NOT WITH_FREENECT)
|
||||||
|
MESSAGE(STATUS " With Freenect = NO (WITH_FREENECT=OFF)")
|
||||||
ELSE()
|
ELSE()
|
||||||
MESSAGE(STATUS " With Freenect = NO (libfreenect not found)")
|
MESSAGE(STATUS " With Freenect = NO (libfreenect not found)")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(OpenNI2_FOUND)
|
IF(OpenNI2_FOUND)
|
||||||
MESSAGE(STATUS " With OpenNI2 = YES")
|
MESSAGE(STATUS " With OpenNI2 = YES")
|
||||||
|
ELSEIF(NOT WITH_OPENNI2)
|
||||||
|
MESSAGE(STATUS " With OpenNI2 = NO (WITH_OPENNI2=OFF)")
|
||||||
ELSE()
|
ELSE()
|
||||||
MESSAGE(STATUS " With OpenNI2 = NO (OpenNI2 not found)")
|
MESSAGE(STATUS " With OpenNI2 = NO (OpenNI2 not found)")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(freenect2_FOUND)
|
IF(freenect2_FOUND)
|
||||||
MESSAGE(STATUS " With Freenect2 = YES")
|
MESSAGE(STATUS " With Freenect2 = YES")
|
||||||
|
ELSEIF(NOT WITH_FREENECT2)
|
||||||
|
MESSAGE(STATUS " With Freenect2 = NO (WITH_FREENECT2=OFF)")
|
||||||
ELSE()
|
ELSE()
|
||||||
MESSAGE(STATUS " With Freenect2 = NO (libfreenect2 not found)")
|
MESSAGE(STATUS " With Freenect2 = NO (libfreenect2 not found)")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(DC1394_FOUND)
|
IF(DC1394_FOUND)
|
||||||
MESSAGE(STATUS " With dc1394 = YES")
|
MESSAGE(STATUS " With dc1394 = YES")
|
||||||
|
ELSEIF(NOT WITH_DC1394)
|
||||||
|
MESSAGE(STATUS " With dc1394 = NO (WITH_DC1394=OFF)")
|
||||||
ELSE()
|
ELSE()
|
||||||
MESSAGE(STATUS " With dc1394 = NO (dc1394 not found)")
|
MESSAGE(STATUS " With dc1394 = NO (dc1394 not found)")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(FlyCapture2_FOUND)
|
IF(FlyCapture2_FOUND)
|
||||||
MESSAGE(STATUS " With FlyCapture2/Triclops = YES")
|
MESSAGE(STATUS " With FlyCapture2/Triclops = YES")
|
||||||
|
ELSEIF(NOT WITH_FLYCAPTURE2)
|
||||||
|
MESSAGE(STATUS " With FlyCapture2/Triclops = NO (WITH_FLYCAPTURE2=OFF)")
|
||||||
ELSE()
|
ELSE()
|
||||||
MESSAGE(STATUS " With FlyCapture2/Triclops = NO (Point Grey SDK not found)")
|
MESSAGE(STATUS " With FlyCapture2/Triclops = NO (Point Grey SDK not found)")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
IF(G2O_FOUND)
|
IF(G2O_FOUND)
|
||||||
MESSAGE(STATUS " With g2o = YES")
|
MESSAGE(STATUS " With g2o = YES")
|
||||||
|
ELSEIF(NOT WITH_G2O)
|
||||||
|
MESSAGE(STATUS " With g2o = NO (WITH_G2O=OFF)")
|
||||||
ELSE()
|
ELSE()
|
||||||
MESSAGE(STATUS " With g2o = NO (g2o not found)")
|
MESSAGE(STATUS " With g2o = NO (g2o not found)")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
@@ -384,6 +427,8 @@ IF(QT4_FOUND)
|
|||||||
MESSAGE(STATUS " With Qt = YES (version 4)")
|
MESSAGE(STATUS " With Qt = YES (version 4)")
|
||||||
ELSEIF(Qt5_FOUND)
|
ELSEIF(Qt5_FOUND)
|
||||||
MESSAGE(STATUS " With Qt = YES (version 5)")
|
MESSAGE(STATUS " With Qt = YES (version 5)")
|
||||||
|
ELSEIF(NOT WITH_QT)
|
||||||
|
MESSAGE(STATUS " With Qt = NO (WITH_QT=OFF)")
|
||||||
ELSE()
|
ELSE()
|
||||||
MESSAGE(STATUS " With Qt = NO (Qt not found, to use Qt5 you should set -DRTABMAP_QT_VERSION=5)")
|
MESSAGE(STATUS " With Qt = NO (Qt not found, to use Qt5 you should set -DRTABMAP_QT_VERSION=5)")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|||||||
Reference in New Issue
Block a user