Created
January 21, 2019 13:33
-
-
Save yossioo/6a1e80953f0fab9a7ec1d3481e9941bf to your computer and use it in GitHub Desktop.
example cmake with ROS and Qt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
############################################################################## | |
# CMake | |
############################################################################## | |
cmake_minimum_required(VERSION 2.8.0) | |
project(show_laser) | |
############################################################################## | |
# Catkin | |
############################################################################## | |
# qt_build provides the qt cmake glue, roscpp the comms for a default talker | |
find_package(catkin REQUIRED COMPONENTS qt_build roscpp sensor_msgs) | |
include_directories(include ${catkin_INCLUDE_DIRS}) | |
# Use this to define what the package will export (e.g. libs, headers). | |
# Since the default here is to produce only a binary, we don't worry about | |
# exporting anything. | |
catkin_package() | |
############################################################################## | |
# Qt Environment | |
############################################################################## | |
set(CMAKE_INCLUDE_CURRENT_DIR ON) | |
set(CMAKE_AUTOMOC ON) | |
#SET(CMAKE_AUTOUIC ON) | |
find_package(Qt5 COMPONENTS Core Gui Widgets PrintSupport) | |
############################################################################## | |
# Sections | |
############################################################################## | |
file(GLOB QT_FORMS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ui/*.ui) | |
file(GLOB QT_RESOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} resources/*.qrc) | |
QT5_ADD_RESOURCES(QT_RESOURCES_CPP ${QT_RESOURCES}) | |
QT5_WRAP_UI(QT_FORMS_HPP ${QT_FORMS}) | |
include_directories( | |
${Qt5Core_INCLUDE_DIRS} | |
${Qt5Gui_INCLUDE_DIRS} | |
${Qt5Widgets_INCLUDE_DIRS} | |
${Qt5PrintSupport_INCLUDE_DIRS} | |
) | |
add_definitions( -std=c++11 -fPIC) | |
############################################################################## | |
# Sources | |
############################################################################## | |
set( QT_SOURCES | |
src/main.cpp | |
src/main_window.cpp | |
src/qcustomplot.cpp | |
src/qnode.cpp | |
src/parameters_dialog.cpp | |
src/trunk_detector.cpp | |
src/qcustomplot.h | |
include/show_laser/parameters_dialog.h | |
include/show_laser/main_window.hpp | |
include/show_laser/qnode.hpp | |
include/show_laser/trunk_detector.hpp | |
) | |
############################################################################## | |
# Binaries | |
############################################################################## | |
add_executable(show_laser ${QT_SOURCES} ${QT_RESOURCES_CPP} ${QT_FORMS_HPP} ${QT_MOC_HPP}) | |
target_link_libraries(show_laser | |
${catkin_LIBRARIES} | |
Qt5::Core | |
Qt5::Widgets | |
Qt5::PrintSupport | |
) | |
install(TARGETS show_laser RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment