cmake_minimum_required(VERSION 3.21) project( xtest VERSION 0.1 DESCRIPTION "A test framework for C" LANGUAGES C ) set(CMAKE_C_STANDARD 11) set(CMAKE_C_STANDARD_REQUIRED TRUE) set(XTEST_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) option(XTEST_ENABLE_PRNG "enable prng functions" ON) add_subdirectory(src) function(add_xtest_executable TARGET) add_executable(${TARGET} ${ARGN}) set(XTEST_COMPILE_DEFS XTEST) if (XTEST_ENABLE_PRNG) set(XTEST_COMPILE_DEFS ${XTEST_COMPILE_DEFS} XTEST_PRNG) endif () target_compile_definitions(${TARGET} PRIVATE ${XTEST_COMPILE_DEFS}) target_include_directories(${TARGET} AFTER PRIVATE "${XTEST_SOURCE_DIR}/include/xtest") target_include_directories(${TARGET} SYSTEM BEFORE PRIVATE "${XTEST_SOURCE_DIR}/include/xtest-assert") target_link_libraries(${TARGET} xtest) endfunction() option(XTEST_BUILD_EXAMPLES "build the xtest examples" OFF) if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME) add_subdirectory(examples) endif()