1 cmake_minimum_required (VERSION 3.8.0)
4 set(HEADERS_DIR "${PROJECT_SOURCE_DIR}/CUnit/Headers")
5 set(SOURCES_DIR "${PROJECT_SOURCE_DIR}/CUnit/Sources")
6 set(EXAMPLES_DIR "${PROJECT_SOURCE_DIR}/Examples")
9 add_compile_options(/W3 /wd4005 /wd4996 -D_CRT_SECURE_NO_WARNINGS)
13 "${HEADERS_DIR}/CUnit.h.in"
14 "${PROJECT_BINARY_DIR}/CUnit.h"
17 file(READ "${PROJECT_BINARY_DIR}/CUnit.h" CUNIT_H)
18 if (BUILD_SHARED_LIBS)
19 string(REPLACE "ifdef CU_DLL" "if 1" CUNIT_H "${CUNIT_H}")
21 string(REPLACE "ifdef CU_DLL" "if 0" CUNIT_H "${CUNIT_H}")
23 file(WRITE "${PROJECT_BINARY_DIR}/CUnit.h" "${CUNIT_H}")
25 include_directories("${PROJECT_BINARY_DIR}")
26 include_directories(${HEADERS_DIR})
29 "${SOURCES_DIR}/Automated/Automated.c"
30 "${SOURCES_DIR}/Basic/Basic.c"
31 "${SOURCES_DIR}/Console/Console.c"
32 "${SOURCES_DIR}/Framework/CUError.c"
33 "${SOURCES_DIR}/Framework/MyMem.c"
34 "${SOURCES_DIR}/Framework/TestDB.c"
35 "${SOURCES_DIR}/Framework/TestRun.c"
36 "${SOURCES_DIR}/Framework/Util.c"
38 target_compile_definitions(libcunit PRIVATE -DCU_BUILD_DLL)
41 include_directories(${EXAMPLES_DIR})
42 add_executable(AutomatedTest ${EXAMPLES_DIR}/AutomatedTest/AutomatedTest.c "${EXAMPLES_DIR}/ExampleTests.c")
43 add_executable(BasicTest ${EXAMPLES_DIR}/BasicTest/BasicTest.c "${EXAMPLES_DIR}/ExampleTests.c")
44 add_executable(ConsoleTest ${EXAMPLES_DIR}/ConsoleTest/ConsoleTest.c "${EXAMPLES_DIR}/ExampleTests.c")
46 target_link_libraries(AutomatedTest libcunit)
47 target_link_libraries(BasicTest libcunit)
48 target_link_libraries(ConsoleTest libcunit)
53 RUNTIME DESTINATION bin
54 LIBRARY DESTINATION lib
55 ARCHIVE DESTINATION lib
58 if(NOT DISABLE_INSTALL_HEADERS)
59 install(DIRECTORY "${HEADERS_DIR}/" DESTINATION include/cunit FILES_MATCHING PATTERN "*.h")
60 install(FILES "${PROJECT_BINARY_DIR}/CUnit.h" DESTINATION include/cunit)