j7s_zenoh_bridge/CMakeLists.txt

48 lines
1.2 KiB
CMake

cmake_minimum_required(VERSION 4.2)
project(j7s_zenoh_bridge)
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()
# find dependencies
find_package(ament_cmake REQUIRED)
find_package(rclcpp REQUIRED)
find_package(rclcpp_components REQUIRED)
find_package(fmt REQUIRED)
find_package(zenohc)
find_package(zenohcxx)
add_library(zenoh_bridge_component SHARED src/ZenohBridge.cpp)
target_include_directories(zenoh_bridge_component PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include/${PROJECT_NAME}>)
target_link_libraries(zenoh_bridge_component
rclcpp::rclcpp
rclcpp_components::component
zenohcxx::zenohc
fmt::fmt
)
rclcpp_components_register_node(zenoh_bridge_component
PLUGIN "j7s::ZenohBridge"
EXECUTABLE zenoh_bridge
)
ament_export_targets(export_${PROJECT_NAME} HAS_LIBRARY_TARGET)
install(TARGETS zenoh_bridge_component
EXPORT export_${PROJECT_NAME}
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin
)
# Install launch and param files.
install(DIRECTORY
launch params
DESTINATION share/${PROJECT_NAME}/
)
ament_package()