xtest/CMakeLists.txt

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()