angles/CMakeLists.txt
2026-01-16 11:02:02 +07:00

85 lines
1.8 KiB
CMake

cmake_minimum_required(VERSION 3.10)
project(robot_angles VERSION 1.0.0 LANGUAGES CXX)
option(BUILD_WITH_CATKIN "Build with ROS catkin" ON)
# =========================
# CATKIN MODE
# =========================
if(BUILD_WITH_CATKIN AND DEFINED CATKIN_DEVEL_PREFIX)
message(STATUS "Building robot_angles in CATKIN mode")
find_package(catkin REQUIRED)
catkin_package(
INCLUDE_DIRS include
)
include_directories(
include
${catkin_INCLUDE_DIRS}
)
install(DIRECTORY include/${PROJECT_NAME}/
DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
FILES_MATCHING PATTERN "*.h"
)
if(CATKIN_ENABLE_TESTING)
add_subdirectory(test)
endif()
catkin_python_setup()
# =========================
# PURE CMAKE MODE
# =========================
else()
message(STATUS "Building robot_angles in PURE CMAKE mode")
add_library(robot_angles INTERFACE)
target_include_directories(robot_angles INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
)
include(CMakePackageConfigHelpers)
install(TARGETS robot_angles
EXPORT anglesTargets
)
install(DIRECTORY include/${PROJECT_NAME}/
DESTINATION include
FILES_MATCHING PATTERN "*.h"
)
install(EXPORT anglesTargets
FILE anglesTargets.cmake
NAMESPACE robot_angles::
DESTINATION lib/cmake/robot_angles
)
write_basic_package_version_file(
anglesConfigVersion.cmake
VERSION ${PROJECT_VERSION}
COMPATIBILITY AnyNewerVersion
)
configure_package_config_file(
cmake/anglesConfig.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/anglesConfig.cmake
INSTALL_DESTINATION lib/cmake/robot_angles
)
install(FILES
${CMAKE_CURRENT_BINARY_DIR}/anglesConfig.cmake
${CMAKE_CURRENT_BINARY_DIR}/anglesConfigVersion.cmake
DESTINATION lib/cmake/robot_angles
)
endif()