libfort/CMakeLists.txt

53 lines
1.0 KiB
CMake
Raw Normal View History

2018-01-01 09:26:34 +01:00
cmake_minimum_required(VERSION 2.8)
project(libfort)
2018-01-07 13:19:00 +01:00
option(FORT_TEST_BUILD "Test build with sanitizers and small library stack size" ON)
option(FORT_GCC_BUILD "Build with gcc" ON)
2018-01-01 09:26:34 +01:00
set(CMAKE_VERBOSE_MAKEFILE ON)
include_directories(include)
include_directories(src)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
FILE(GLOB_RECURSE FortHeaders "include/*.h" "tests/*.h")
add_custom_target(headers SOURCES ${FortHeaders})
set(FORT_SOURCES src/fort.c)
add_executable(${PROJECT_NAME}
example/main.c
${FORT_SOURCES})
include_directories(tests/cmocka-1.1.0/include)
link_directories(${CMAKE_SOURCE_DIR}/tests/cmocka-1.1.0/build/src)
add_executable(TEST
tests/test.c
tests/test_vector.c
tests/test_table.c)
target_link_libraries(TEST
cmocka)
2018-01-07 13:19:00 +01:00
if(FORT_TEST_BUILD)
2018-01-01 09:26:34 +01:00
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address")
2018-01-07 13:19:00 +01:00
if(FORT_GCC_BUILD)
2018-01-01 09:26:34 +01:00
target_link_libraries(${PROJECT_NAME} asan)
target_link_libraries(TEST asan)
2018-01-07 13:19:00 +01:00
endif(FORT_GCC_BUILD)
endif(FORT_TEST_BUILD)
2018-01-01 09:26:34 +01:00