mirror of
https://github.com/introlab/rtabmap_ros.git
synced 2026-10-13 04:59:50 +08:00
Fixed build for Qt5 (default version used by Kinetic)
This commit is contained in:
+39
-3
@@ -23,8 +23,16 @@ find_package(RTABMap 0.11.4 REQUIRED)
|
|||||||
find_package(OpenCV REQUIRED)
|
find_package(OpenCV REQUIRED)
|
||||||
|
|
||||||
#Qt stuff
|
#Qt stuff
|
||||||
FIND_PACKAGE(Qt4 COMPONENTS QtCore QtGui REQUIRED)
|
# If Qt is here, rtabmapviz will be built
|
||||||
INCLUDE(${QT_USE_FILE})
|
# look for Qt5 before Qt4
|
||||||
|
FIND_PACKAGE(Qt5 COMPONENTS Widgets Core Gui)
|
||||||
|
IF(Qt5_FOUND)
|
||||||
|
FIND_PACKAGE(Qt4 COMPONENTS QtCore QtGui)
|
||||||
|
ENDIF(Qt5_FOUND)
|
||||||
|
|
||||||
|
IF(QT4_FOUND)
|
||||||
|
INCLUDE(${QT_USE_FILE})
|
||||||
|
ENDIF(QT4_FOUND)
|
||||||
|
|
||||||
## We also use Ogre
|
## We also use Ogre
|
||||||
include($ENV{ROS_ROOT}/core/rosbuild/FindPkgConfig.cmake)
|
include($ENV{ROS_ROOT}/core/rosbuild/FindPkgConfig.cmake)
|
||||||
@@ -159,6 +167,13 @@ SET(rtabmap_ros_lib_src
|
|||||||
)
|
)
|
||||||
ENDIF(costmap_2d_FOUND)
|
ENDIF(costmap_2d_FOUND)
|
||||||
|
|
||||||
|
IF(QT4_FOUND OR Qt5_FOUND)
|
||||||
|
SET(Libraries
|
||||||
|
${Libraries}
|
||||||
|
${QT_LIBRARIES}
|
||||||
|
)
|
||||||
|
ENDIF(QT4_FOUND OR Qt5_FOUND)
|
||||||
|
|
||||||
# If rviz is found, add plugins
|
# If rviz is found, add plugins
|
||||||
IF(rviz_FOUND)
|
IF(rviz_FOUND)
|
||||||
MESSAGE(STATUS "WITH rviz")
|
MESSAGE(STATUS "WITH rviz")
|
||||||
@@ -172,12 +187,21 @@ SET(Libraries
|
|||||||
)
|
)
|
||||||
|
|
||||||
## RVIZ plugin
|
## RVIZ plugin
|
||||||
|
IF(QT4_FOUND)
|
||||||
qt4_wrap_cpp(MOC_FILES
|
qt4_wrap_cpp(MOC_FILES
|
||||||
src/rviz/MapCloudDisplay.h
|
src/rviz/MapCloudDisplay.h
|
||||||
src/rviz/MapGraphDisplay.h
|
src/rviz/MapGraphDisplay.h
|
||||||
src/rviz/InfoDisplay.h
|
src/rviz/InfoDisplay.h
|
||||||
src/rviz/OrbitOrientedViewController.h
|
src/rviz/OrbitOrientedViewController.h
|
||||||
)
|
)
|
||||||
|
ELSE()
|
||||||
|
qt5_wrap_cpp(MOC_FILES
|
||||||
|
src/rviz/MapCloudDisplay.h
|
||||||
|
src/rviz/MapGraphDisplay.h
|
||||||
|
src/rviz/InfoDisplay.h
|
||||||
|
src/rviz/OrbitOrientedViewController.h
|
||||||
|
)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
# tf:message_filters, mixing boost and Qt signals
|
# tf:message_filters, mixing boost and Qt signals
|
||||||
set_property(
|
set_property(
|
||||||
@@ -201,11 +225,14 @@ ENDIF(rviz_FOUND)
|
|||||||
add_library(rtabmap_ros
|
add_library(rtabmap_ros
|
||||||
${rtabmap_ros_lib_src}
|
${rtabmap_ros_lib_src}
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(rtabmap_ros
|
target_link_libraries(rtabmap_ros
|
||||||
${Libraries}
|
${Libraries}
|
||||||
${QT_LIBRARIES}
|
|
||||||
${OGRE_LIBRARIES}
|
${OGRE_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
IF(Qt5_FOUND)
|
||||||
|
QT5_USE_MODULES(rtabmap_ros Widgets Core Gui)
|
||||||
|
ENDIF()
|
||||||
add_dependencies(rtabmap_ros ${${PROJECT_NAME}_EXPORTED_TARGETS})
|
add_dependencies(rtabmap_ros ${${PROJECT_NAME}_EXPORTED_TARGETS})
|
||||||
|
|
||||||
# If octomap is found, add definition
|
# If octomap is found, add definition
|
||||||
@@ -243,6 +270,9 @@ target_link_libraries(camera ${Libraries})
|
|||||||
IF(RTABMAP_GUI)
|
IF(RTABMAP_GUI)
|
||||||
add_executable(rtabmapviz src/GuiNode.cpp src/GuiWrapper.cpp src/PreferencesDialogROS.cpp)
|
add_executable(rtabmapviz src/GuiNode.cpp src/GuiWrapper.cpp src/PreferencesDialogROS.cpp)
|
||||||
target_link_libraries(rtabmapviz rtabmap_ros ${QT_LIBRARIES} ${Libraries})
|
target_link_libraries(rtabmapviz rtabmap_ros ${QT_LIBRARIES} ${Libraries})
|
||||||
|
IF(Qt5_FOUND)
|
||||||
|
QT5_USE_MODULES(rtabmapviz Widgets Core Gui)
|
||||||
|
ENDIF()
|
||||||
ELSE()
|
ELSE()
|
||||||
MESSAGE(WARNING "Found RTAB-Map built without its GUI library. Node rtabmapviz will not be built!")
|
MESSAGE(WARNING "Found RTAB-Map built without its GUI library. Node rtabmapviz will not be built!")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
@@ -329,6 +359,12 @@ install(FILES
|
|||||||
costmap_plugins.xml
|
costmap_plugins.xml
|
||||||
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
|
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
|
||||||
)
|
)
|
||||||
|
IF(costmap_2d_FOUND)
|
||||||
|
install(FILES
|
||||||
|
costmap_plugins.xml
|
||||||
|
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
|
||||||
|
)
|
||||||
|
ENDIF(costmap_2d_FOUND)
|
||||||
|
|
||||||
#############
|
#############
|
||||||
## Testing ##
|
## Testing ##
|
||||||
|
|||||||
+2
-1
@@ -37,7 +37,8 @@
|
|||||||
<build_depend>class_loader</build_depend>
|
<build_depend>class_loader</build_depend>
|
||||||
<build_depend>rtabmap</build_depend>
|
<build_depend>rtabmap</build_depend>
|
||||||
<build_depend>move_base_msgs</build_depend>
|
<build_depend>move_base_msgs</build_depend>
|
||||||
<build_depend>costmap_2d</build_depend>
|
<!-- costmap_2d is not on kinetic yet -->
|
||||||
|
<!-- <build_depend>costmap_2d</build_depend> -->
|
||||||
<build_depend>octomap_ros</build_depend>
|
<build_depend>octomap_ros</build_depend>
|
||||||
<build_depend>octomap</build_depend>
|
<build_depend>octomap</build_depend>
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -26,8 +26,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "GuiWrapper.h"
|
#include "GuiWrapper.h"
|
||||||
#include <QtGui/QApplication>
|
#include <QApplication>
|
||||||
#include <QtCore/QDir>
|
#include <QDir>
|
||||||
|
|
||||||
#include <cv_bridge/cv_bridge.h>
|
#include <cv_bridge/cv_bridge.h>
|
||||||
#include <std_srvs/Empty.h>
|
#include <std_srvs/Empty.h>
|
||||||
|
|||||||
@@ -27,14 +27,14 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
|
|
||||||
#include "PreferencesDialogROS.h"
|
#include "PreferencesDialogROS.h"
|
||||||
#include <rtabmap/core/Parameters.h>
|
#include <rtabmap/core/Parameters.h>
|
||||||
#include <QtCore/QDir>
|
#include <QDir>
|
||||||
#include <QtCore/QFileInfo>
|
#include <QFileInfo>
|
||||||
#include <QtCore/QSettings>
|
#include <QSettings>
|
||||||
#include <QtGui/QHBoxLayout>
|
#include <QHBoxLayout>
|
||||||
#include <QtCore/QTimer>
|
#include <QTimer>
|
||||||
#include <QtGui/QLabel>
|
#include <QLabel>
|
||||||
#include <rtabmap/core/RtabmapEvent.h>
|
#include <rtabmap/core/RtabmapEvent.h>
|
||||||
#include <QtGui/QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <ros/exceptions.h>
|
#include <ros/exceptions.h>
|
||||||
#include <rtabmap/utilite/UStl.h>
|
#include <rtabmap/utilite/UStl.h>
|
||||||
|
|
||||||
|
|||||||
@@ -25,9 +25,9 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|||||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <QtGui/QApplication>
|
#include <QApplication>
|
||||||
#include <QtGui/QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QtCore/QTimer>
|
#include <QTimer>
|
||||||
|
|
||||||
#include <OgreSceneNode.h>
|
#include <OgreSceneNode.h>
|
||||||
#include <OgreSceneManager.h>
|
#include <OgreSceneManager.h>
|
||||||
|
|||||||
Reference in New Issue
Block a user