cmake_minimum_required(VERSION 3.5) PROJECT(plotjuggler_ros) find_package(ament_cmake REQUIRED) find_package(rclcpp REQUIRED) find_package(rcpputils REQUIRED) find_package(rosbag2_transport REQUIRED) find_package(Boost REQUIRED) find_package(tf2_msgs REQUIRED) find_package(tf2_ros REQUIRED) find_package(plotjuggler REQUIRED) cmake_policy (SET CMP0020 NEW) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOMOC ON) SET(CMAKE_AUTOUIC ON) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) if (NOT WIN32) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -fno-omit-frame-pointer") endif() if(APPLE AND EXISTS /usr/local/opt/qt5) # Homebrew installs Qt5 (up to at least 5.9.1) in # /usr/local/qt5, ensure it can be found by CMake since # it is not in the default /usr/local prefix. # source: https://github.com/Homebrew/homebrew-core/issues/8392#issuecomment-325226494 list(APPEND CMAKE_PREFIX_PATH "/usr/local/opt/qt5") set(CMAKE_MACOSX_RPATH 1) endif() find_package(Qt5 REQUIRED COMPONENTS Core Widgets Concurrent Xml Svg WebSockets) set( QT_LINK_LIBRARIES Qt5::Core Qt5::Widgets Qt5::Concurrent Qt5::Xml Qt5::Svg Qt5::WebSockets ) if (NOT CMAKE_BUILD_TYPE) message(STATUS "No build type selected, default to RelWithDebInfo") set(CMAKE_BUILD_TYPE "RelWithDebInfo") endif() IF (NOT WIN32) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") ENDIF() add_definitions(-DFMT_HEADER_ONLY) ######################### INSTALL #################################### set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) install(DIRECTORY launch DESTINATION share/${PROJECT_NAME}) add_subdirectory( src ) ament_package()