diff options
Diffstat (limited to 'bench/CMakeLists.txt')
| -rw-r--r-- | bench/CMakeLists.txt | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/bench/CMakeLists.txt b/bench/CMakeLists.txt new file mode 100644 index 0000000..685a224 --- /dev/null +++ b/bench/CMakeLists.txt @@ -0,0 +1,42 @@ +# Project and C standard configuration +project(bhunit LANGUAGES C) +set(CMAKE_C_STANDARD 90) +set(CMAKE_C_STANDARD_REQUIRED ON) + +# Disable extensions +set(CMAKE_C_EXTENSIONS OFF) + +# Library code +set(BHBENCH_SOURCE + src/Bench.c +) + +set(BHBENCH_HEADER + include/BH/Bench.h +) + +# Library +add_library(BHBench STATIC ${BHBENCH_SOURCE} ${BHBENCH_HEADER}) +target_include_directories(BHBench PUBLIC include) +target_link_libraries(BHBench BHLib) + +# Enable testing +include(CTest) +enable_testing() + +# Search files +file(GLOB TEST_FILES "tests/*.c") + +foreach(TEST_FILENAME ${TEST_FILES}) + # Add test + get_filename_component(TEST_NAME ${TEST_FILENAME} NAME_WE) + add_executable("${TEST_NAME}" ${TEST_FILENAME}) + target_link_libraries("${TEST_NAME}" BHLib BHBench) + add_test(NAME "${TEST_NAME}" COMMAND "${TEST_NAME}") + + # Enable coverage + if(ENABLE_COVERAGE) + target_compile_options("${TEST_NAME}" PRIVATE -coverage) + target_link_options("${TEST_NAME}" PRIVATE -coverage) + endif() +endforeach() |
