diff --git a/CMakeLists.txt b/CMakeLists.txt index 84afe12b..0d17291f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,7 +20,7 @@ SET(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake_modules") ####################### SET(RTABMAP_MAJOR_VERSION 0) SET(RTABMAP_MINOR_VERSION 11) -SET(RTABMAP_PATCH_VERSION 4) +SET(RTABMAP_PATCH_VERSION 5) SET(RTABMAP_VERSION ${RTABMAP_MAJOR_VERSION}.${RTABMAP_MINOR_VERSION}.${RTABMAP_PATCH_VERSION}) @@ -170,15 +170,22 @@ IF(ZLIB_FOUND) ENDIF(ZLIB_FOUND) IF(WITH_QT) + FIND_PACKAGE(VTK) + IF(NOT VTK_FOUND) + MESSAGE(FATAL_ERROR "VTK is required when using Qt. Set -DWITH_QT=OFF if you don't want gui tools.") + ENDIF(NOT VTK_FOUND) + # If Qt is here, the GUI will be built - # look for Qt5 before Qt4 - FIND_PACKAGE(Qt5 COMPONENTS Widgets Core Gui Svg QUIET) + # look for Qt5 (if vtk>5 is installed) before Qt4 + IF("${VTK_MAJOR_VERSION}" GREATER 5) + FIND_PACKAGE(Qt5 COMPONENTS Widgets Core Gui Svg QUIET) + ENDIF("${VTK_MAJOR_VERSION}" GREATER 5) + IF(NOT Qt5_FOUND) FIND_PACKAGE(Qt4 COMPONENTS QtCore QtGui QtSvg) ENDIF(NOT Qt5_FOUND) 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) @@ -373,6 +380,11 @@ set(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/corelib/include" set(CONF_LIB_DIR "${CMAKE_ARCHIVE_OUTPUT_DIRECTORY} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}") IF(QT4_FOUND OR Qt5_FOUND) set(CONF_WITH_GUI ON) + IF(QT4_FOUND) + set(CONF_QT_VERSION 4) + ELSE() + set(CONF_QT_VERSION 5) + ENDIF() ELSE() set(CONF_WITH_GUI OFF) ENDIF() diff --git a/RTABMapConfig.cmake.in b/RTABMapConfig.cmake.in index e24c059f..66b8cee6 100644 --- a/RTABMapConfig.cmake.in +++ b/RTABMapConfig.cmake.in @@ -66,4 +66,5 @@ set(RTABMAP_CORE ${RTABMap_CORE}) set(RTABMAP_UTILITE ${RTABMap_UTILITE}) if(RTABMap_GUI) set(RTABMAP_GUI ${RTABMap_GUI}) -endif(RTABMap_GUI) \ No newline at end of file + set(RTABMAP_QT_VERSION @CONF_QT_VERSION@) +endif(RTABMap_GUI) diff --git a/package.xml b/package.xml index 6de561c0..55eacd29 100644 --- a/package.xml +++ b/package.xml @@ -1,7 +1,7 @@ rtabmap - 0.11.4 + 0.11.5 RTAB-Map's standalone library. RTAB-Map is a RGB-D SLAM approach with real-time constraints. Mathieu Labbe Mathieu Labbe @@ -12,7 +12,7 @@ cmake - qt_gui_core + qt_gui_cpp libpcl-all-dev libsqlite3-dev zlib @@ -24,7 +24,7 @@ proj - qt_gui_core + qt_gui_cpp libpcl-all-dev libsqlite3-dev zlib