35 lines
1 KiB
CMake
35 lines
1 KiB
CMake
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() |