# 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(BHUNIT_SOURCE src/Unit.c ) set(BHUNIT_HEADER include/BH/Unit.h ) # Library add_library(BHUnit STATIC ${BHUNIT_SOURCE} ${BHUNIT_HEADER}) target_include_directories(BHUnit PUBLIC include) # 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 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()