diff --git a/CMakeLists.txt b/CMakeLists.txt index 9ad9d198..4d98b972 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -324,15 +324,24 @@ ENDIF(APPLE AND BUILD_AS_BUNDLE) ####### SOURCES (Projects) ####### + +# CONF_DEPENDENCIES contains only dependencies not required by the headers +SET(CONF_DEPENDENCIES + ${ZLIB_LIBRARIES} +) IF(NOT (OPENCV_NONFREE_FOUND OR OPENCV_XFEATURES2D_FOUND)) SET(NONFREE "//") ENDIF(NOT (OPENCV_NONFREE_FOUND OR OPENCV_XFEATURES2D_FOUND)) IF(NOT G2O_FOUND) SET(G2O "//") -ENDIF(NOT G2O_FOUND) +ELSE() + SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${G2O_LIBRARIES}) +ENDIF() IF(NOT GTSAM_FOUND) SET(GTSAM "//") -ENDIF(NOT GTSAM_FOUND) +ELSE() + SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${GTSAM_LIBRARIES}) +ENDIF() IF(NOT WITH_TORO) SET(TORO "//") ENDIF(NOT WITH_TORO) @@ -341,25 +350,39 @@ IF(NOT WITH_VERTIGO) ENDIF(NOT WITH_VERTIGO) IF(NOT cvsba_FOUND) SET(CVSBA "//") -ENDIF(NOT cvsba_FOUND) +ELSE() + SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${cvsba_LIBRARIES}) +ENDIF() IF(NOT Freenect_FOUND) SET(FREENECT "//") -ENDIF(NOT Freenect_FOUND) +ELSE() + SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${Freenect_LIBRARIES}) +ENDIF() IF(NOT freenect2_FOUND) SET(FREENECT2 "//") -ENDIF(NOT freenect2_FOUND) +ELSE() + SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${freenect2_LIBRARIES}) +ENDIF() IF(NOT OpenNI2_FOUND) SET(OPENNI2 "//") -ENDIF(NOT OpenNI2_FOUND) +ELSE() + SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${OpenNI2_LIBRARIES}) +ENDIF() IF(NOT DC1394_FOUND) SET(DC1394 "//") -ENDIF(NOT DC1394_FOUND) +ELSE() + SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${DC1394_LIBRARIES}) +ENDIF() IF(NOT FlyCapture2_FOUND) SET(FLYCAPTURE2 "//") -ENDIF(NOT FlyCapture2_FOUND) +ELSE() + SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${FlyCapture2_LIBRARIES}) +ENDIF() IF(NOT ZED_FOUND) SET(ZED "//") -ENDIF(NOT ZED_FOUND) +ELSE() + SET(CONF_DEPENDENCIES ${CONF_DEPENDENCIES} ${ZED_LIBRARIES} ${CUDA_LIBRARIES}) +ENDIF() IF(NOT (OpenCV_FOUND AND OpenCV_VERSION_MAJOR EQUAL 3)) SET(OPENCV3 "//") ENDIF(NOT (OpenCV_FOUND AND OpenCV_VERSION_MAJOR EQUAL 3)) diff --git a/RTABMapConfig.cmake.in b/RTABMapConfig.cmake.in index 66b8cee6..cfff0d81 100644 --- a/RTABMapConfig.cmake.in +++ b/RTABMapConfig.cmake.in @@ -61,6 +61,9 @@ if(@CONF_WITH_GUI@) set(RTABMap_LIBRARIES ${RTABMap_LIBRARIES} ${RTABMap_GUI}) endif(@CONF_WITH_GUI@) +# Dependencies +set(RTABMap_LIBRARIES ${RTABMap_LIBRARIES} @CONF_DEPENDENCIES@) + #backward compatibilities set(RTABMAP_CORE ${RTABMap_CORE}) set(RTABMAP_UTILITE ${RTABMap_UTILITE})