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 $ $ ) 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()