45 lines
1.2 KiB
CMake
45 lines
1.2 KiB
CMake
# CMake configuration for demo project
|
|
cmake_minimum_required(VERSION 3.16)
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_CXX_CLANG_TIDY clang-tidy)
|
|
set(BOOST_ENABLE_CMAKE ON)
|
|
|
|
execute_process(
|
|
COMMAND git describe --tags --dirty --always
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
OUTPUT_VARIABLE VERSION_STRING
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
|
|
string(REGEX REPLACE "^v?([0-9]+)\\.([0-9]+)\\.([0-9]+).*$" "\\1.\\2.\\3"
|
|
MODIFIED_VERSION_STRING "${VERSION_STRING}")
|
|
project(
|
|
collector
|
|
VERSION ${MODIFIED_VERSION_STRING}
|
|
LANGUAGES CXX)
|
|
|
|
include(FetchContent)
|
|
set(FETCHCONTENT_QUIET FALSE)
|
|
|
|
FetchContent_Declare(
|
|
boostorg
|
|
GIT_REPOSITORY https://github.com/boostorg/boost.git
|
|
GIT_TAG boost-1.80.0
|
|
GIT_PROGRESS TRUE
|
|
GIT_SHALLOW TRUE
|
|
FETCHCONTENT_QUIET FALSE)
|
|
|
|
FetchContent_MakeAvailable(boostorg)
|
|
|
|
|
|
enable_testing()
|
|
|
|
configure_file(version.hpp.in ${PROJECT_SOURCE_DIR}/version.hpp)
|
|
|
|
add_executable(collector_test test.cpp)
|
|
target_compile_options(${PROJECT_NAME}_test PUBLIC -Wall -Wextra -Wshadow
|
|
-Wnon-virtual-dtor)
|
|
add_test(NAME test1 COMMAND collector_test)
|
|
|
|
target_link_libraries(collector_test PRIVATE Boost::filesystem Boost::system
|
|
Boost::unit_test_framework)
|