mirror of
https://github.com/unittest-cpp/unittest-cpp
synced 2026-09-26 16:19:30 +03:00
This is how it used to be in most of the old project files. The CMake conversion required the tests to be run manually after the build, either by running the binary directly or by calling CTest. This commit removes the 'dependency' on CTest and restores the old build process.
59 lines
No EOL
2 KiB
CMake
59 lines
No EOL
2 KiB
CMake
cmake_minimum_required(VERSION 2.8.1)
|
|
project(UnitTest++)
|
|
|
|
option(UTPP_USE_PLUS_SIGN "Set this to OFF is you with to use '-cpp' instead of '++' in lib/include paths" ON)
|
|
|
|
# get the main sources
|
|
file(GLOB headers_ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} UnitTest++/*.h)
|
|
file(GLOB sources_ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} UnitTest++/*.cpp)
|
|
source_group("" FILES ${headers_} ${sources_})
|
|
|
|
# get platform specific sources
|
|
if (WIN32)
|
|
add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
|
|
set(platformDir_ Win32)
|
|
else()
|
|
set(platformDir_ Posix)
|
|
endif(WIN32)
|
|
|
|
file(GLOB platformHeaders_ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} UnitTest++/${platformDir_}/*.h)
|
|
file(GLOB platformSources_ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} UnitTest++/${platformDir_}/*.cpp)
|
|
source_group(${platformDir_} FILES ${platformHeaders_} ${platformSources_})
|
|
|
|
# create the lib
|
|
add_library(UnitTest++ STATIC ${headers_} ${sources_} ${platformHeaders_} ${platformSources_})
|
|
|
|
if(${UTPP_USE_PLUS_SIGN})
|
|
set_target_properties(UnitTest++ PROPERTIES OUTPUT_NAME UnitTest++)
|
|
endif()
|
|
|
|
|
|
# build the test runner
|
|
file(GLOB TEST_SRCS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} tests/*.cpp tests/*.h)
|
|
source_group( "" FILES ${TEST_SRCS})
|
|
add_executable(TestUnitTest++ ${TEST_SRCS})
|
|
include_directories(.)
|
|
|
|
if(${UTPP_USE_PLUS_SIGN})
|
|
set_target_properties(TestUnitTest++ PROPERTIES OUTPUT_NAME TestUnitTest++)
|
|
endif()
|
|
|
|
target_link_libraries(TestUnitTest++ UnitTest++)
|
|
|
|
# run unit tests as post build step
|
|
add_custom_command(TARGET TestUnitTest++
|
|
POST_BUILD COMMAND TestUnitTest++
|
|
COMMENT "Running unit tests")
|
|
|
|
# add install targets
|
|
# need a custom install path?
|
|
# define CMAKE_INSTALL_PREFIX to change root folder
|
|
if(${UTPP_USE_PLUS_SIGN})
|
|
set (UTPP_INSTALL_DESTINATION "include/UnitTest++")
|
|
else()
|
|
set (UTPP_INSTALL_DESTINATION "include/UnitTestPP")
|
|
endif()
|
|
|
|
install(TARGETS UnitTest++ DESTINATION lib)
|
|
install(FILES ${headers_} DESTINATION ${UTPP_INSTALL_DESTINATION})
|
|
install(FILES ${platformHeaders_} DESTINATION ${UTPP_INSTALL_DESTINATION}/${platformDir_}) |