62 lines
1.9 KiB
CMake
Executable File
62 lines
1.9 KiB
CMake
Executable File
cmake_minimum_required (VERSION 3.8.0)
|
|
project (libcunit C)
|
|
|
|
set(HEADERS_DIR "${PROJECT_SOURCE_DIR}/CUnit/Headers")
|
|
set(SOURCES_DIR "${PROJECT_SOURCE_DIR}/CUnit/Sources")
|
|
set(EXAMPLES_DIR "${PROJECT_SOURCE_DIR}/Examples")
|
|
|
|
if(MSVC)
|
|
add_compile_options(/W3 /wd4005 /wd4996 -D_CRT_SECURE_NO_WARNINGS)
|
|
endif()
|
|
|
|
configure_file(
|
|
"${HEADERS_DIR}/CUnit.h.in"
|
|
"${PROJECT_BINARY_DIR}/CUnit.h"
|
|
)
|
|
|
|
file(READ "${PROJECT_BINARY_DIR}/CUnit.h" CUNIT_H)
|
|
if (BUILD_SHARED_LIBS)
|
|
string(REPLACE "ifdef CU_DLL" "if 1" CUNIT_H "${CUNIT_H}")
|
|
else()
|
|
string(REPLACE "ifdef CU_DLL" "if 0" CUNIT_H "${CUNIT_H}")
|
|
endif()
|
|
file(WRITE "${PROJECT_BINARY_DIR}/CUnit.h" "${CUNIT_H}")
|
|
|
|
include_directories("${PROJECT_BINARY_DIR}")
|
|
include_directories(${HEADERS_DIR})
|
|
|
|
add_library(libcunit
|
|
"${SOURCES_DIR}/Automated/Automated.c"
|
|
"${SOURCES_DIR}/Basic/Basic.c"
|
|
"${SOURCES_DIR}/Console/Console.c"
|
|
"${SOURCES_DIR}/Framework/CUError.c"
|
|
"${SOURCES_DIR}/Framework/MyMem.c"
|
|
"${SOURCES_DIR}/Framework/TestDB.c"
|
|
"${SOURCES_DIR}/Framework/TestRun.c"
|
|
"${SOURCES_DIR}/Framework/Util.c"
|
|
)
|
|
target_compile_definitions(libcunit PRIVATE -DCU_BUILD_DLL)
|
|
|
|
if(BUILD_EXAMPLES)
|
|
include_directories(${EXAMPLES_DIR})
|
|
add_executable(AutomatedTest ${EXAMPLES_DIR}/AutomatedTest/AutomatedTest.c "${EXAMPLES_DIR}/ExampleTests.c")
|
|
add_executable(BasicTest ${EXAMPLES_DIR}/BasicTest/BasicTest.c "${EXAMPLES_DIR}/ExampleTests.c")
|
|
add_executable(ConsoleTest ${EXAMPLES_DIR}/ConsoleTest/ConsoleTest.c "${EXAMPLES_DIR}/ExampleTests.c")
|
|
|
|
target_link_libraries(AutomatedTest libcunit)
|
|
target_link_libraries(BasicTest libcunit)
|
|
target_link_libraries(ConsoleTest libcunit)
|
|
endif()
|
|
|
|
install(
|
|
TARGETS libcunit
|
|
RUNTIME DESTINATION bin
|
|
LIBRARY DESTINATION lib
|
|
ARCHIVE DESTINATION lib
|
|
)
|
|
|
|
if(NOT DISABLE_INSTALL_HEADERS)
|
|
install(DIRECTORY "${HEADERS_DIR}/" DESTINATION include/cunit FILES_MATCHING PATTERN "*.h")
|
|
install(FILES "${PROJECT_BINARY_DIR}/CUnit.h" DESTINATION include/cunit)
|
|
endif()
|