diff --git a/CMakeLists.txt b/CMakeLists.txt index 503c1fb..7396566 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,23 +2,33 @@ cmake_minimum_required(VERSION 2.8.3) project(swri_console) find_package(catkin REQUIRED COMPONENTS rosbag_storage roscpp rosgraph_msgs) -find_package(Qt4 REQUIRED) +find_package(Qt5Core REQUIRED) +find_package(Qt5Gui REQUIRED) +find_package(Qt5Widgets REQUIRED) catkin_package( INCLUDE_DIRS include - DEPENDS Qt4 CATKIN_DEPENDS rosbag_storage roscpp rosgraph_msgs ) -include(${QT_USE_FILE}) +set(CMAKE_INCLUDE_CURRENT_DIR ON) include_directories(include ${catkin_INCLUDE_DIRS} - ${QT_INCLUDE_DIR} ) -add_definitions(${QT_DEFINITIONS}) + ${Qt5Core_INCLUDE_DIRS} + ${Qt5Gui_INCLUDE_DIRS} + ${Qt5Widgets_INCLUDE_DIRS} +) +add_definitions( + ${Qt5Core_DEFINITIONS} + ${Qt5Gui_DEFINITIONS} + ${Qt5Widgets_DEFINITIONS} +) set(QT_USE_QTCORE TRUE) set(QT_USE_QTGUI TRUE) +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}") + # Build mapviz node include_directories(${CMAKE_CURRENT_BINARY_DIR}) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) @@ -42,13 +52,15 @@ file (GLOB SRC_FILES src/log_database_proxy_model.cpp src/ros_thread.cpp src/settings_keys.cpp) -qt4_add_resources(RCC_SRCS resources/images.qrc) -qt4_wrap_ui(SRC_FILES ${UI_FILES}) -qt4_wrap_cpp(SRC_FILES ${HEADER_FILES}) +qt5_add_resources(RCC_SRCS resources/images.qrc) +qt5_wrap_ui(SRC_FILES ${UI_FILES}) +qt5_wrap_cpp(SRC_FILES ${HEADER_FILES}) add_executable(swri_console ${HEADER_FILES} ${SRC_FILES} ${RCC_SRCS} src/main.cpp) target_link_libraries(swri_console - ${QT_LIBRARIES} + ${Qt5Core_LIBRARIES} + ${Qt5Gui_LIBRARIES} + ${Qt5Widgets_LIBRARIES} ${catkin_LIBRARIES}) install(DIRECTORY include/${PROJECT_NAME}/ diff --git a/include/swri_console/console_master.h b/include/swri_console/console_master.h index 5983793..3245364 100644 --- a/include/swri_console/console_master.h +++ b/include/swri_console/console_master.h @@ -51,7 +51,7 @@ class ConsoleMaster : public QObject Q_OBJECT; public: - ConsoleMaster(); + ConsoleMaster(int argc, char** argv); virtual ~ConsoleMaster(); public Q_SLOTS: diff --git a/include/swri_console/console_window.h b/include/swri_console/console_window.h index 2a6e3a7..61a5936 100644 --- a/include/swri_console/console_window.h +++ b/include/swri_console/console_window.h @@ -31,7 +31,7 @@ #ifndef SWRI_CONSOLE_CONSOLE_WINDOW_H_ #define SWRI_CONSOLE_CONSOLE_WINDOW_H_ -#include +#include #include #include #include diff --git a/include/swri_console/ros_thread.h b/include/swri_console/ros_thread.h index 5ea60b9..dff0eaf 100644 --- a/include/swri_console/ros_thread.h +++ b/include/swri_console/ros_thread.h @@ -43,7 +43,7 @@ namespace swri_console { Q_OBJECT public: - RosThread(); + RosThread(int argc, char** argv); /* * Shuts down ROS and causes the thread to exit. */ diff --git a/package.xml b/package.xml index 5279d70..449bac5 100644 --- a/package.xml +++ b/package.xml @@ -14,8 +14,10 @@ BSD catkin - libqt4 - libqt4-dev + libqt5-opengl-dev + libqt5-core + libqt5-gui + libqt5-widgets rosbag_storage roscpp rosgraph_msgs diff --git a/src/console_master.cpp b/src/console_master.cpp index b689b9e..70a171c 100644 --- a/src/console_master.cpp +++ b/src/console_master.cpp @@ -37,8 +37,8 @@ namespace swri_console { -ConsoleMaster::ConsoleMaster() - : +ConsoleMaster::ConsoleMaster(int argc, char** argv): + ros_thread_(argc, argv), connected_(false), window_font_(QFont("Ubuntu Mono", 9)) { diff --git a/src/main.cpp b/src/main.cpp index 67f4896..8d6aaf2 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -82,7 +82,7 @@ int main(int argc, char **argv) QCoreApplication::setOrganizationDomain("swri.org"); QCoreApplication::setApplicationName("SwRI Console"); - swri_console::ConsoleMaster master; + swri_console::ConsoleMaster master(argc, argv); master.createNewWindow(); app.connect(&app, SIGNAL(lastWindowClosed()), &app, SLOT(quit())); int result = app.exec(); diff --git a/src/ros_thread.cpp b/src/ros_thread.cpp index 6ac67e5..ce1973d 100644 --- a/src/ros_thread.cpp +++ b/src/ros_thread.cpp @@ -33,12 +33,11 @@ using namespace swri_console; -RosThread::RosThread() : +RosThread::RosThread(int argc, char** argv) : is_connected_(false), is_running_(true) { - int argc = QCoreApplication::argc(); - ros::init(argc, QCoreApplication::argv(), "swri_console", + ros::init(argc, argv, "swri_console", ros::init_options::AnonymousName | ros::init_options::NoRosout); }