* Test(CMake) set NAME and COMMAND in add_test * (CMake) add enable_testing() * (CMake) move cmake_dependent_option up, before using them * (CMake) use YAML_CPP_MAIN_PROJECT in cmake_dependent_option * (CMake) log values regarding tests * (CMake) always find CTest, but don't enable tests * (CMAKE)(temp) fix logging * (actions) set YAML_CPP_BUILD_TESTS for tests * (actions) provide YAML_CPP_BUILD_TESTS to ctest * (actions) set -DYAML_CPP_BUILD_TESTS at build * (actions) don't fail false * (actions) build tests in Test step * (actions) run tests verbose * (CMake) remove temp logging * (actions) split building from running tests * (actions) ctest Debug * (actions) ctest Debug * Remove enable_testing
57 lines
1.7 KiB
CMake
57 lines
1.7 KiB
CMake
find_package(Threads REQUIRED)
|
|
|
|
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
|
|
set(BUILD_MOCK ON CACHE BOOL "" FORCE)
|
|
set(CMAKE_POLICY_DEFAULT_CMP0048 NEW)
|
|
|
|
add_subdirectory(
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/gtest-1.11.0"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/prefix")
|
|
|
|
include_directories(SYSTEM "${CMAKE_CURRENT_SOURCE_DIR}/gtest-1.11.0/googletest/include")
|
|
|
|
set(test-new-api-pattern "new-api/*.cpp")
|
|
set(test-source-pattern "*.cpp" "integration/*.cpp" "node/*.cpp")
|
|
if (CMAKE_VERSION VERSION_GREATER 3.11)
|
|
list(INSERT test-new-api-pattern 0 CONFIGURE_DEPENDS)
|
|
list(INSERT test-source-pattern 0 CONFIGURE_DEPENDS)
|
|
endif()
|
|
|
|
file(GLOB test-new-api-sources ${test-new-api-pattern})
|
|
file(GLOB test-sources ${test-source-pattern})
|
|
|
|
add_executable(yaml-cpp-tests "")
|
|
target_sources(yaml-cpp-tests
|
|
PRIVATE
|
|
${test-new-api-sources}
|
|
${test-sources})
|
|
target_include_directories(yaml-cpp-tests
|
|
PRIVATE
|
|
${CMAKE_CURRENT_SOURCE_DIR}/integration
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
|
${PROJECT_SOURCE_DIR}/src)
|
|
target_compile_options(yaml-cpp-tests
|
|
PRIVATE
|
|
$<$<CXX_COMPILER_ID:Clang>:-Wno-c99-extensions -Wno-variadic-macros -Wno-sign-compare>
|
|
$<$<CXX_COMPILER_ID:GNU>:-Wno-variadic-macros -Wno-sign-compare>)
|
|
target_link_libraries(yaml-cpp-tests
|
|
PRIVATE
|
|
Threads::Threads
|
|
yaml-cpp
|
|
gmock)
|
|
|
|
set_property(TARGET yaml-cpp-tests PROPERTY CXX_STANDARD_REQUIRED ON)
|
|
if (NOT DEFINED CMAKE_CXX_STANDARD)
|
|
set_target_properties(yaml-cpp-tests PROPERTIES CXX_STANDARD 11)
|
|
endif()
|
|
|
|
|
|
add_test(NAME yaml-cpp::test COMMAND yaml-cpp-tests)
|
|
|
|
if (build-windows-dll)
|
|
add_custom_command(
|
|
TARGET yaml-cpp-tests
|
|
POST_BUILD COMMAND ${CMAKE_COMMAND} -E
|
|
copy_if_different "$<TARGET_FILE:yaml-cpp>" "$<TARGET_FILE_DIR:yaml-cpp-tests>")
|
|
endif()
|