Files
yq_2026_duo/src/camera_calibration/CMakeLists.txt
2026-03-26 05:57:32 +08:00

92 lines
1.8 KiB
CMake

cmake_minimum_required(VERSION 3.8)
project(camera_calibration)
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(std_msgs REQUIRED)
find_package(sensor_msgs REQUIRED)
find_package(image_transport REQUIRED)
find_package(cv_bridge REQUIRED)
find_package(OpenCV REQUIRED)
find_package(Eigen3 REQUIRED)
find_package(rm_interfaces REQUIRED)
include_directories(
include
${OpenCV_INCLUDE_DIRS}
${EIGEN3_INCLUDE_DIRS}
)
# Node library - without rclcpp_components registration
add_library(camera_calibration_lib SHARED
src/calibration_node.cpp
)
ament_target_dependencies(camera_calibration_lib
rclcpp
std_msgs
sensor_msgs
image_transport
cv_bridge
OpenCV
Eigen3
rm_interfaces
)
# Create executable directly instead of using component registration
add_executable(camera_calibration_node src/calibration_node.cpp)
ament_target_dependencies(camera_calibration_node
rclcpp
std_msgs
sensor_msgs
image_transport
cv_bridge
OpenCV
Eigen3
rm_interfaces
)
target_link_libraries(camera_calibration_node camera_calibration_lib)
install(TARGETS camera_calibration_lib
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
)
install(TARGETS camera_calibration_node
RUNTIME DESTINATION lib/${PROJECT_NAME}
)
install(DIRECTORY include/
DESTINATION include
)
install(DIRECTORY launch/
DESTINATION share/${PROJECT_NAME}/launch
)
install(DIRECTORY config/
DESTINATION share/${PROJECT_NAME}/config
)
if(BUILD_TESTING)
find_package(ament_lint_auto REQUIRED)
ament_lint_auto_find_test_dependencies()
endif()
ament_export_dependencies(
rclcpp
std_msgs
sensor_msgs
image_transport
cv_bridge
OpenCV
Eigen3
)
ament_package()