突发奇想,想写个ROS工具箱。自然而然地选择Qt作为UI框架,下面分享一下咱用的CMakeLists.txt
cmake_minimum_required(VERSION 3.15)
project(rostoolkit VERSION 0.1)
set(CMAKE_AUTOMOC ON)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt6 6.2 COMPONENTS Core Quick REQUIRED)
find_package(catkin REQUIRED COMPONENTS
roscpp
)
catkin_package()
include_directories(
# include
${catkin_INCLUDE_DIRS}
)
add_compile_definitions("BOOST_BIND_GLOBAL_PLACEHOLDERS")
qt_add_executable(approstoolkit
main.cpp
)
qt_add_qml_module(approstoolkit
URI rostoolkit
VERSION 1.0
QML_FILES main.qml
)
set_target_properties(approstoolkit PROPERTIES
MACOSX_BUNDLE_GUI_IDENTIFIER my.example.com
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
MACOSX_BUNDLE TRUE
WIN32_EXECUTABLE TRUE
)
target_compile_definitions(approstoolkit
PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)
target_link_libraries(approstoolkit
PRIVATE Qt6::Quick ${catkin_LIBRARIES})