@@ -2,34 +2,31 @@ include(FetchContent)
22include (GoogleTest)
33
44FetchContent_Declare(
5- googletest
6- URL https://github.com/google/googletest/archive/refs/tags/v1.15.2.zip
7- )
5+ googletest
6+ URL https://github.com/google/googletest/archive/refs/tags/v1.15.2.zip)
87
9- set (gtest_force_shared_crt ON CACHE BOOL "" FORCE)
8+ set (gtest_force_shared_crt
9+ ON
10+ CACHE BOOL "" FORCE)
1011FetchContent_MakeAvailable(googletest)
1112
1213enable_testing ()
1314
14- set (TESTS
15- function_type
16- )
15+ list (APPEND tests function_type)
1716
18- foreach (TEST IN LISTS TESTS)
19- add_executable (${TEST} ${TEST} .cpp)
20- target_link_libraries (${TEST}
21- PRIVATE Traits::traits
22- PRIVATE GTest::gtest_main
23- )
17+ foreach (test IN LISTS tests)
18+ add_executable (${test} ${test} .cpp)
19+ target_link_libraries (${test} PRIVATE Traits::traits GTest::gtest_main)
2420
25- gtest_discover_tests(${TEST } )
21+ gtest_discover_tests(${test } )
2622endforeach ()
2723
2824# Add the deployment test, which checks that we can indeed install traits and
2925# then use `find_package` to depend on it from another CMake project.
3026include (ExternalProject)
3127set (FAKE_INSTALL_DIR "${PROJECT_BINARY_DIR} /fakeroot" )
32- ExternalProject_Add(test .deploy.fakeroot
28+ ExternalProject_Add(
29+ test .deploy.fakeroot
3330 SOURCE_DIR "${PROJECT_SOURCE_DIR} "
3431 EXCLUDE_FROM_ALL TRUE
3532 BUILD_ALWAYS TRUE
@@ -38,36 +35,43 @@ ExternalProject_Add(test.deploy.fakeroot
3835 -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
3936 -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}
4037 -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
41- TEST_COMMAND "" # Disable test step
42- UPDATE_COMMAND "" # Disable source work-tree update
38+ TEST_COMMAND "" # Disable test step
39+ UPDATE_COMMAND "" # Disable source work-tree update
4340)
4441
45- add_custom_target (test .deploy
42+ add_custom_target (
43+ test .deploy
4644 DEPENDS test .deploy.fakeroot
47- COMMAND ${CMAKE_COMMAND} -E remove_directory "${CMAKE_CURRENT_BINARY_DIR} /deploy"
48- COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR} /deploy"
49- COMMAND ${CMAKE_COMMAND} -E chdir "${CMAKE_CURRENT_BINARY_DIR} /deploy"
50- ${CMAKE_COMMAND} "${CMAKE_CURRENT_SOURCE_DIR} /deploy"
51- -DCMAKE_CXX_COMPILER="${CMAKE_CXX_COMPILER} "
52- -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH} \; ${FAKE_INSTALL_DIR} "
53- -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
54- COMMAND ${CMAKE_COMMAND} --build "${CMAKE_CURRENT_BINARY_DIR} /deploy"
55- )
56- add_test (NAME test .deploy COMMAND ${CMAKE_COMMAND} --build "${PROJECT_BINARY_DIR} " --target test .deploy)
45+ COMMAND ${CMAKE_COMMAND} -E remove_directory
46+ "${CMAKE_CURRENT_BINARY_DIR} /deploy"
47+ COMMAND ${CMAKE_COMMAND} -E make_directory
48+ "${CMAKE_CURRENT_BINARY_DIR} /deploy"
49+ COMMAND
50+ ${CMAKE_COMMAND} -E chdir "${CMAKE_CURRENT_BINARY_DIR} /deploy"
51+ ${CMAKE_COMMAND} "${CMAKE_CURRENT_SOURCE_DIR} /deploy"
52+ -DCMAKE_CXX_COMPILER="${CMAKE_CXX_COMPILER} "
53+ -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH} \; ${FAKE_INSTALL_DIR} "
54+ -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
55+ COMMAND ${CMAKE_COMMAND} --build "${CMAKE_CURRENT_BINARY_DIR} /deploy" )
56+ add_test (NAME test .deploy COMMAND ${CMAKE_COMMAND} --build
57+ "${PROJECT_BINARY_DIR} " --target test .deploy)
5758
58- # Add the fetch test, which checks that we can indeed use fetch content
59- # from another CMake project.
59+ # Add the fetch test, which checks that we can indeed use fetch content from
60+ # another CMake project.
6061
61- add_custom_target (test .fetch
62+ add_custom_target (
63+ test .fetch
6264 DEPENDS package
63- COMMAND ${CMAKE_COMMAND} -E remove_directory "${CMAKE_CURRENT_BINARY_DIR} /fetch"
65+ COMMAND ${CMAKE_COMMAND} -E remove_directory
66+ "${CMAKE_CURRENT_BINARY_DIR} /fetch"
6467 COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR} /fetch"
65- COMMAND ${CMAKE_COMMAND} -S "${CMAKE_CURRENT_SOURCE_DIR} /fetch"
66- -B "${CMAKE_CURRENT_BINARY_DIR} /fetch"
67- -DPACKAGE_PATH="${CMAKE_CURRENT_BINARY_DIR} /../${TRAITS_PACKAGE_NAME} "
68- -DCMAKE_CXX_COMPILER="${CMAKE_CXX_COMPILER} "
69- -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH} "
70- -DCMAKE_TOOLCHAIN_FILE="${CMAKE_TOOLCHAIN_FILE} "
71- COMMAND ${CMAKE_COMMAND} --build "${CMAKE_CURRENT_BINARY_DIR} /fetch"
72- )
73- add_test (NAME test .fetch COMMAND ${CMAKE_COMMAND} --build "${PROJECT_BINARY_DIR} " --target test .fetch)
68+ COMMAND
69+ ${CMAKE_COMMAND} -S "${CMAKE_CURRENT_SOURCE_DIR} /fetch" -B
70+ "${CMAKE_CURRENT_BINARY_DIR} /fetch"
71+ -DPACKAGE_PATH="${CMAKE_CURRENT_BINARY_DIR} /../${TRAITS_PACKAGE_NAME} "
72+ -DCMAKE_CXX_COMPILER="${CMAKE_CXX_COMPILER} "
73+ -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH} "
74+ -DCMAKE_TOOLCHAIN_FILE="${CMAKE_TOOLCHAIN_FILE} "
75+ COMMAND ${CMAKE_COMMAND} --build "${CMAKE_CURRENT_BINARY_DIR} /fetch" )
76+ add_test (NAME test .fetch COMMAND ${CMAKE_COMMAND} --build
77+ "${PROJECT_BINARY_DIR} " --target test .fetch)
0 commit comments