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