The existing compiler warnings expected either clang/GCC or MSVC, thus making CMakeLists less future proof.
25 lines
664 B
CMake
25 lines
664 B
CMake
set(CMAKE_C_STANDARD 90)
|
|
set(CMAKE_C_STANDARD_REQUIRED ON)
|
|
set(CMAKE_C_EXTENSIONS OFF)
|
|
|
|
# Enable testing
|
|
include(CTest)
|
|
enable_testing()
|
|
|
|
# Search files
|
|
file(GLOB TEST_FILES "src/*.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 BHUnit)
|
|
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()
|