92 lines
1.8 KiB
CMake
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()
|