From 51dd60423352140d48f0d13371faba578147346c Mon Sep 17 00:00:00 2001 From: Tobias Schmidl <5060861-schtobia@users.noreply.gitlab.com> Date: Fri, 30 Sep 2022 08:01:04 +0200 Subject: [PATCH] Added dir_monitor --- .cmake-format.yaml | 8 +++++++ CMakeLists.txt | 58 +++++++++++++++++++++++++++++++++++----------- 2 files changed, 53 insertions(+), 13 deletions(-) diff --git a/.cmake-format.yaml b/.cmake-format.yaml index 60ae177..d9179f9 100644 --- a/.cmake-format.yaml +++ b/.cmake-format.yaml @@ -1,4 +1,12 @@ format: + line_width: 120 tab_size: 4 use_tabchars: true fractional_tab_policy: round-up + max_subgroups_hwrap: 2 + max_pargs_hwrap: 3 + dangle_parens: true + dangle_align: prefix + min_prefix_chars: 0 + max_prefix_chars: 16 + keyword_case: upper diff --git a/CMakeLists.txt b/CMakeLists.txt index b5766bc..ac6623b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,43 +3,75 @@ 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) + +include(ProcessorCount) +ProcessorCount(CPU_COUNT) +if(CPU_COUNT EQUAL 0) + set(CPU_COUNT 4) +endif() +message(STATUS "Counted ${CPU_COUNT} cores") +set(CTEST_BUILD_FLAGS -j${CPU_COUNT}) +set(ctest_test_args ${ctest_test_args} PARALLEL_LEVEL ${CPU_COUNT}) execute_process( COMMAND git describe --tags --dirty --always WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE VERSION_STRING - OUTPUT_STRIP_TRAILING_WHITESPACE) + OUTPUT_STRIP_TRAILING_WHITESPACE +) -string(REGEX REPLACE "^v?([0-9]+)\\.([0-9]+)\\.([0-9]+).*$" "\\1.\\2.\\3" - MODIFIED_VERSION_STRING "${VERSION_STRING}") +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) + VERSION 0.0.0 # ${MODIFIED_VERSION_STRING} + LANGUAGES CXX +) include(FetchContent) set(FETCHCONTENT_QUIET FALSE) +set(BOOST_ENABLE_CMAKE ON) FetchContent_Declare( boostorg GIT_REPOSITORY https://github.com/boostorg/boost.git GIT_TAG boost-1.80.0 GIT_PROGRESS TRUE + GIT_CONFIG fetch.parallel=${CPU_COUNT} submodule.fetchJobs=${CPU_COUNT} GIT_SHALLOW TRUE - FETCHCONTENT_QUIET FALSE) +) -FetchContent_MakeAvailable(boostorg) +FetchContent_Declare( + dir_monitor + GIT_REPOSITORY https://github.com/schtobia/dir_monitor.git + GIT_TAG master + GIT_PROGRESS TRUE + GIT_SHALLOW TRUE +) +FetchContent_Populate(boostorg) +add_subdirectory(${boostorg_SOURCE_DIR} ${boostorg_BINARY_DIR}) + +FetchContent_MakeAvailable(dir_monitor) 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_compile_options( + ${PROJECT_NAME}_test + PUBLIC -Wall + -Wextra + -Wshadow + -Wnon-virtual-dtor +) -target_link_libraries(collector_test PRIVATE Boost::filesystem Boost::system - Boost::unit_test_framework) +target_link_libraries(${PROJECT_NAME}_test PRIVATE Boost::filesystem Boost::system Boost::unit_test_framework dir_monitor) + +add_test(NAME test1 COMMAND $[PROJECT_NAME}_test)