1
0
Fork 0

Merge branch 'testing'

main
mandlm 2023-10-20 11:12:42 +02:00
commit ea201fe0f9
Signed by: mandlm
GPG Key ID: 4AA25D647AA54CC7
5 changed files with 37 additions and 0 deletions

View File

@ -15,6 +15,8 @@
# building
gcc
cmake
ninja
sccache
# pre-commit
pre-commit

View File

@ -8,6 +8,13 @@ project(
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
include(ExportCompileCommands)
include(sccache)
if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
include(CTest)
endif()
include(FetchContent)
configure_file("${PROJECT_SOURCE_DIR}/include/version.h.in"
"${PROJECT_BINARY_DIR}/include/version.h")
@ -19,3 +26,7 @@ target_compile_features(hello PUBLIC cxx_std_20)
target_include_directories(hello PRIVATE "${PROJECT_BINARY_DIR}/include"
"${PROJECT_SOURCE_DIR}/include")
if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
add_subdirectory(tests)
endif()

6
cmake/sccache.cmake Normal file
View File

@ -0,0 +1,6 @@
find_program(SCCACHE_FOUND sccache)
if(SCCACHE_FOUND)
set(CMAKE_C_COMPILER_LAUNCHER sccache)
set(CMAKE_CXX_COMPILER_LAUNCHER sccache)
endif()

14
tests/CMakeLists.txt Normal file
View File

@ -0,0 +1,14 @@
FetchContent_Declare(
catch2
GIT_REPOSITORY https://github.com/catchorg/Catch2.git
GIT_TAG v3.4.0)
FetchContent_MakeAvailable(catch2)
add_executable(dummy_tests dummy.cpp)
target_compile_features(dummy_tests PRIVATE cxx_std_20)
target_link_libraries(dummy_tests PRIVATE Catch2::Catch2WithMain)
include(Catch)
catch_discover_tests(dummy_tests)

4
tests/dummy.cpp Normal file
View File

@ -0,0 +1,4 @@
#include <catch2/catch_test_macros.hpp>
TEST_CASE("dummy", "dummy tests") { REQUIRE(1 + 1 == 2); }
TEST_CASE("dummy fails", "dummy tests") { REQUIRE_FALSE(1 + 1 != 2); }