Skip to content

Commit

Permalink
Merge pull request #47 from ethz-asl/fix/gui_cmakelist
Browse files Browse the repository at this point in the history
Fix/gui cmakelist
  • Loading branch information
kholtmann authored Jun 6, 2018
2 parents 0ea7136 + 59acb1b commit 89498d5
Show file tree
Hide file tree
Showing 11 changed files with 114 additions and 76 deletions.
2 changes: 1 addition & 1 deletion ethz_piksi_ros/package.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<package format="2">
<name>ethz_piksi_ros</name>
<version>1.6.1</version>
<version>1.6.2</version>
<description>Meta-package for the ethz_piksi_ros repository.</description>

<maintainer email="[email protected]">Marco Tranzatto</maintainer>
Expand Down
2 changes: 1 addition & 1 deletion jenkins-pipeline
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
library 'continuous_integration_pipeline'
ciPipeline("--ignore ethz_piksi_ros piksi_v2_rtk_ros rqt_gps_rtk_plugin utils")
ciPipeline("--ignore ethz_piksi_ros piksi_v2_rtk_ros utils")
2 changes: 1 addition & 1 deletion piksi_multi_rtk_ros/package.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<package format="2">
<name>piksi_multi_rtk_ros</name>
<version>1.6.1</version>
<version>1.6.2</version>
<description>
ROS driver for Piksi Multi RTK GPS Receiver.
</description>
Expand Down
2 changes: 1 addition & 1 deletion piksi_rtk_kml/package.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<package format="2">
<name>piksi_rtk_kml</name>
<version>1.6.1</version>
<version>1.6.2</version>
<description>
ROS node to write KML file from Piksi messages.
</description>
Expand Down
2 changes: 1 addition & 1 deletion piksi_rtk_msgs/package.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<package format="2">
<name>piksi_rtk_msgs</name>
<version>1.6.1</version>
<version>1.6.2</version>
<description>
Package containing messages for Piksi RTK GPS ROS Driver.
</description>
Expand Down
153 changes: 90 additions & 63 deletions rqt_gps_rtk_plugin/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,119 +1,146 @@
cmake_minimum_required(VERSION 2.8.3)
project(rqt_gps_rtk_plugin)

# Set compiler flags
set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}")
## Use C++11
## By adding -Wall and -Werror, the compiler does not ignore warnings anymore,
## enforcing cleaner code.
add_definitions(-std=c++11 -Wall -Werror)

# Load catkin and all dependencies required for this package
find_package(catkin REQUIRED COMPONENTS
any_worker
rqt_gui
rqt_gui_cpp
piksi_rtk_msgs
sensor_msgs
rqt_gui
rqt_gui_cpp
any_worker
piksi_rtk_msgs
sensor_msgs

)

if("${qt_gui_cpp_USE_QT_MAJOR_VERSION} " STREQUAL "5 ")
if ("${qt_gui_cpp_USE_QT_MAJOR_VERSION} " STREQUAL "5 ")
find_package(Qt5Widgets REQUIRED)
else()
find_package(Qt4 COMPONENTS QtCore QtGui REQUIRED)
find_package(Qt4 COMPONENTS QtCore QtGui QtOpenGL REQUIRED)
include(${QT_USE_FILE})
endif()

catkin_python_setup()
# Flags
SET(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}")

###########
# sources #
###########
set(rqt_gps_rtk_plugin_SRCS
src/rqt_gps_rtk_plugin/GpsRtkPlugin.cpp
set(${PROJECT_NAME}_SRCS
src/${PROJECT_NAME}/GpsRtkPlugin.cpp
)
###########



###########
# headers #
###########
set(rqt_gps_rtk_plugin_HDRS
include/rqt_gps_rtk_plugin/GpsRtkPlugin.hpp
set(${PROJECT_NAME}_HDRS
include/${PROJECT_NAME}/GpsRtkPlugin.hpp
)
###########


set(${PROJECT_NAME}_UIS
resource/gps_rtk_plugin.ui
)

############
# ui files #
############
set(rqt_gps_rtk_plugin_UIS
resource/gps_rtk_plugin.ui
set(ui_INCLUDE_DIR
"${CATKIN_DEVEL_PREFIX}/${CATKIN_GLOBAL_INCLUDE_DESTINATION}/${PROJECT_NAME}"
)
############

set(rqt_gps_rtk_plugin_INCLUDE_DIRECTORIES
include
${CMAKE_CURRENT_BINARY_DIR}
set(${PROJECT_NAME}_INCLUDE_DIRECTORIES
include
${ui_INCLUDE_DIR}/..
)

if(NOT EXISTS ${ui_INCLUDE_DIR})
file(MAKE_DIRECTORY ${ui_INCLUDE_DIR})
endif()

catkin_package(
INCLUDE_DIRS
${${PROJECT_NAME}_INCLUDE_DIRECTORIES}
LIBRARIES ${PROJECT_NAME}
CATKIN_DEPENDS
any_worker
rqt_gui
rqt_gui_cpp
any_worker
piksi_rtk_msgs
sensor_msgs
DEPENDS

)

if("${qt_gui_cpp_USE_QT_MAJOR_VERSION} " STREQUAL "5 ")
qt5_wrap_cpp(rqt_gps_rtk_plugin_MOCS ${rqt_gps_rtk_plugin_HDRS})
qt5_wrap_ui(rqt_gps_rtk_plugin_UIS_H ${rqt_gps_rtk_plugin_UIS})
# include directories before wrap cpp
include_directories(${${PROJECT_NAME}_INCLUDE_DIRECTORIES}
${${PROJECT_NAME}_INCLUDE_DIRECTORIES}
${catkin_INCLUDE_DIRS}
)

if ("${qt_gui_cpp_USE_QT_MAJOR_VERSION} " STREQUAL "5 ")
include_directories(${Qt5Widgets_INCLUDE_DIRS})
add_definitions(${Qt5Widgets_DEFINITIONS})
qt5_wrap_cpp(${PROJECT_NAME}_MOCS ${${PROJECT_NAME}_HDRS})
#qt5_add_resources(${PROJECT_NAME}_RCC ${${PROJECT_NAME}_QRC})
else()
qt4_wrap_cpp(rqt_gps_rtk_plugin_MOCS ${rqt_gps_rtk_plugin_HDRS})
qt4_wrap_ui(rqt_gps_rtk_plugin_UIS_H ${rqt_gps_rtk_plugin_UIS})
qt4_wrap_cpp(${PROJECT_NAME}_MOCS ${${PROJECT_NAME}_HDRS})
#qt4_add_resources(${PROJECT_NAME}_RCC ${${PROJECT_NAME}_QRC})
endif()

include_directories(
${rqt_gps_rtk_plugin_INCLUDE_DIRECTORIES}
${catkin_INCLUDE_DIRS}
)

# ensure generated header files are being created in the devel space
set(_cmake_current_binary_dir "${CMAKE_CURRENT_BINARY_DIR}")
set(CMAKE_CURRENT_BINARY_DIR ${ui_INCLUDE_DIR})
if("${qt_gui_cpp_USE_QT_MAJOR_VERSION} " STREQUAL "5 ")
qt5_wrap_ui(${PROJECT_NAME}_UIS_H ${${PROJECT_NAME}_UIS})
else()
qt4_wrap_ui(${PROJECT_NAME}_UIS_H ${${PROJECT_NAME}_UIS})
endif()
set(CMAKE_CURRENT_BINARY_DIR "${_cmake_current_binary_dir}")

add_library(rqt_gps_rtk_plugin
${rqt_gps_rtk_plugin_SRCS}
${rqt_gps_rtk_plugin_MOCS}
${rqt_gps_rtk_plugin_UIS_H}
add_library(${PROJECT_NAME}
${${PROJECT_NAME}_SRCS}
${${PROJECT_NAME}_HDRS}
${${PROJECT_NAME}_MOCS}
${${PROJECT_NAME}_UIS_H}
)

target_link_libraries(rqt_gps_rtk_plugin
${catkin_LIBRARIES}
target_link_libraries(${PROJECT_NAME}
${catkin_LIBRARIES}
)

if("${qt_gui_cpp_USE_QT_MAJOR_VERSION} " STREQUAL "5 ")
if ("${qt_gui_cpp_USE_QT_MAJOR_VERSION} " STREQUAL "5 ")
target_link_libraries(${PROJECT_NAME} Qt5::Widgets)
else()
target_link_libraries(${PROJECT_NAME} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY})
endif()

add_dependencies(${PROJECT_NAME}
${catkin_EXPORTED_TARGETS}
)

find_package(class_loader)
class_loader_hide_library_symbols(rqt_gps_rtk_plugin)

class_loader_hide_library_symbols(${PROJECT_NAME})

install(FILES plugin.xml
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
)

install(TARGETS rqt_gps_rtk_plugin
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
install(TARGETS ${PROJECT_NAME}
ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)

install(PROGRAMS scripts/rqt_gps_rtk_plugin
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
install(PROGRAMS scripts/${PROJECT_NAME}
DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
)

install(DIRECTORY include/${PROJECT_NAME}/
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
)

# uncomment, if this widget will be used by any other QObject (e.g., a widget)
install(DIRECTORY ${ui_INCLUDE_DIR}/
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
)

install(
DIRECTORY resource
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
# FILES_MATCHING
# PATTERN "*.png"
# PATTERN "*.svg"
)
1 change: 1 addition & 0 deletions rqt_gps_rtk_plugin/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ Dependencies
------
[piksi_rtk_msgs](https://github.com/ethz-asl/mav_rtk_gps/tree/master/piksi_rtk_msgs)
[Qt](https://wiki.qt.io/Install_Qt_5_on_Ubuntu)
[any_node](https://bitbucket.org/leggedrobotics/any_common/src/master/any_node/)

General Usage
------
Expand Down
12 changes: 11 additions & 1 deletion rqt_gps_rtk_plugin/include/rqt_gps_rtk_plugin/GpsRtkPlugin.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,31 @@
#define GPSRTKPLUGIN_H

#include <rqt_gui_cpp/plugin.h>
#include <ui_gps_rtk_plugin.h>

// Qt
#include <QWidget>
#include <QString>

// ui
#include <rqt_gps_rtk_plugin/ui_gps_rtk_plugin.h>

// std
#include <algorithm>
#include <unistd.h>
#include <memory>

// ros
#include <ros/ros.h>

// messages
#include <piksi_rtk_msgs/ReceiverState_V2_3_15.h>
#include <piksi_rtk_msgs/BaselineNed.h>
#include <piksi_rtk_msgs/InfoWifiCorrections.h>
#include <piksi_rtk_msgs/UtcTimeMulti.h>
#include <piksi_rtk_msgs/AgeOfCorrections.h>
#include <sensor_msgs/NavSatFix.h>

// worker
#include <any_worker/Worker.hpp>

constexpr double kSignalStrengthScalingFactor = 4.0;
Expand Down
3 changes: 1 addition & 2 deletions rqt_gps_rtk_plugin/package.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<package format="2">
<name>rqt_gps_rtk_plugin</name>
<version>1.6.1</version>
<version>1.6.2</version>
<description>The rqt_gps_rtk_plugin package</description>

<maintainer email="[email protected]">Kai Holtmann</maintainer>
Expand All @@ -15,7 +15,6 @@
<depend>piksi_rtk_msgs</depend>
<depend>sensor_msgs</depend>


<!-- The export tag contains other, unspecified, tags -->
<export>
<architecture_independent/>
Expand Down
2 changes: 1 addition & 1 deletion rqt_gps_rtk_plugin/resource/gps_rtk_plugin.ui
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
</rect>
</property>
<property name="windowTitle">
<string>GpsRtkInfo</string>
<string>GpsRtkPlugin</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_17">
<item>
Expand Down
9 changes: 5 additions & 4 deletions rqt_gps_rtk_plugin/src/rqt_gps_rtk_plugin/GpsRtkPlugin.cpp
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
#include "../include/rqt_gps_rtk_plugin/GpsRtkPlugin.hpp"

#include <pluginlib/class_list_macros.h>
#include <rqt_gps_rtk_plugin/GpsRtkPlugin.hpp>

// Qt
#include <QStringList>
#include <QGridLayout>

// std
#include <math.h>
Expand Down Expand Up @@ -43,7 +43,7 @@ void GpsRtkPlugin::initPlugin(qt_gui_cpp::PluginContext& context) {
altitudes_.erase(altitudes_.begin(), altitudes_.end());

// initialize update worker
updateWorker_.reset(std::make_unique(any_worker::Worker("GpsRtkPlugin::updateWorker", 1, std::bind(&GpsRtkPlugin::updateWorkerCb, this, std::placeholders::_1))));
updateWorker_.reset(new any_worker::Worker("GpsRtkPlugin::updateWorker", 1, std::bind(&GpsRtkPlugin::updateWorkerCb, this, std::placeholders::_1)));
if (!updateWorker_->start()) {
ROS_WARN_STREAM("[GpsRtkPlugin] Update worker could not be started. GUI information not properly updated.");
}
Expand Down Expand Up @@ -312,4 +312,5 @@ void GpsRtkPlugin::piksiAgeOfCorrectionsCb(const piksi_rtk_msgs::AgeOfCorrection
// Usually used to open a dialog to offer the user a set of configuration
}*/

#include <pluginlib/class_list_macros.h>
PLUGINLIB_DECLARE_CLASS(rqt_gps_rtk_plugin, GpsRtkPlugin, GpsRtkPlugin, rqt_gui_cpp::Plugin)

0 comments on commit 89498d5

Please sign in to comment.