cmake_minimum_required(VERSION 3.5)
project(arm_core)
set(BUILD_TEST TRUE)
set(LIB_NAME libarmcore)
# Default to C99
if(NOT CMAKE_C_STANDARD)
set(CMAKE_C_STANDARD 99)
endif()
# Default to C++14
if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 14)
endif()
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()
# find dependencies
find_package(yaml-cpp REQUIRED)
find_package(spdlog REQUIRED)
include_directories(
include/
)
add_library(libarmcore SHARED
#pose
src/pose/Pose.cpp
)
target_link_libraries(libarmcore
jsoncpp
yaml-cpp
spdlog
)
install(
DIRECTORY include/
DESTINATION include
)
install(
TARGETS libarmcore
EXPORT libarmcore
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
RUNTIME DESTINATION bin
INCLUDES DESTINATION include
)
# add lib.config
include(CMakePackageConfigHelpers)
write_basic_package_version_file(
libarmcoreConfig.cmake
VERSION 1.0
COMPATIBILITY AnyNewerVersion
)
install(EXPORT libarmcore
FILE libarmcoreConfig.cmake
DESTINATION lib/cmake/libarmcore
)
ROS2 Cmake生成config.cmake支持find_package
关注
打赏