robot_time/CMakeLists.txt
2025-12-02 10:42:39 +07:00

50 lines
1.1 KiB
CMake

cmake_minimum_required(VERSION 3.10.2)
project(robot_time LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
find_package(GTest REQUIRED)
include_directories(${GTEST_INCLUDE_DIRS})
add_library(robot_time
src/duration.cpp
src/rate.cpp
src/time.cpp)
target_include_directories(robot_time PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>)
install(TARGETS robot_time
EXPORT robot_timeTargets
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin)
install(DIRECTORY include/
DESTINATION include
FILES_MATCHING PATTERN "*.h")
install(EXPORT robot_timeTargets
NAMESPACE robot::
DESTINATION lib/cmake/robot_time)
add_executable(robot_time_test test/time.cpp)
add_executable(robot_duration_test test/duration.cpp)
target_link_libraries(robot_time_test PRIVATE
robot_time
${GTEST_LIBRARIES}
GTest::GTest
GTest::Main)
target_link_libraries(robot_duration_test PRIVATE
robot_time
${GTEST_LIBRARIES}
GTest::GTest
GTest::Main)