Merge topic 'gtest-alias' 741233a02b GoogleTest: Allow alias target in test discovery Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !11876
diff --git a/Modules/GoogleTest.cmake b/Modules/GoogleTest.cmake index ff9371c..72f307f 100644 --- a/Modules/GoogleTest.cmake +++ b/Modules/GoogleTest.cmake
@@ -599,30 +599,12 @@ set(arg_DISCOVERY_MODE ${CMAKE_GTEST_DISCOVER_TESTS_DISCOVERY_MODE}) endif() - get_property( - has_counter - TARGET ${target} - PROPERTY CTEST_DISCOVERED_TEST_COUNTER - SET - ) - if(has_counter) - get_property( - counter - TARGET ${target} - PROPERTY CTEST_DISCOVERED_TEST_COUNTER - ) - math(EXPR counter "${counter} + 1") - else() - set(counter 1) - endif() - set_property( - TARGET ${target} - PROPERTY CTEST_DISCOVERED_TEST_COUNTER - ${counter} - ) + string(SHA256 argn_hash "${ARGN}") + string(SUBSTRING "${argn_hash}" 0 8 argn_hash) + string(MAKE_C_IDENTIFIER "${target}_${argn_hash}" ctest_file_base) # Define rule to generate test list for aforementioned test executable - set(ctest_file_base "${CMAKE_CURRENT_BINARY_DIR}/${target}[${counter}]") + set(ctest_file_base "${CMAKE_CURRENT_BINARY_DIR}/${ctest_file_base}") set(ctest_include_file "${ctest_file_base}_include.cmake") set(ctest_tests_file "${ctest_file_base}_tests.cmake") get_property(test_launcher
diff --git a/Tests/RunCMake/GoogleTest/GoogleTest-discovery-flush-script-check-list.cmake.in b/Tests/RunCMake/GoogleTest/GoogleTest-discovery-flush-script-check-list.cmake.in index b334d2b..cfc1701 100644 --- a/Tests/RunCMake/GoogleTest/GoogleTest-discovery-flush-script-check-list.cmake.in +++ b/Tests/RunCMake/GoogleTest/GoogleTest-discovery-flush-script-check-list.cmake.in
@@ -15,9 +15,9 @@ # uncovered by checking the name buffer flushing above. # PRE_TEST can have a config-specific tests file, POST_BUILD never does -set(tests_file "@CMAKE_CURRENT_BINARY_DIR@/flush_script_test[1]_tests-Debug.cmake") +set(tests_file "@CMAKE_CURRENT_BINARY_DIR@/flush_script_test_e3b0c442_tests-Debug.cmake") if(NOT EXISTS "${tests_file}") - set(tests_file "@CMAKE_CURRENT_BINARY_DIR@/flush_script_test[1]_tests.cmake") + set(tests_file "@CMAKE_CURRENT_BINARY_DIR@/flush_script_test_e3b0c442_tests.cmake") endif() if(NOT EXISTS "${tests_file}") message(FATAL_ERROR "Tests file is missing")
diff --git a/Tests/RunCMake/GoogleTest/GoogleTest.cmake b/Tests/RunCMake/GoogleTest/GoogleTest.cmake index 792f5f7..8c33cf6 100644 --- a/Tests/RunCMake/GoogleTest/GoogleTest.cmake +++ b/Tests/RunCMake/GoogleTest/GoogleTest.cmake
@@ -6,10 +6,11 @@ include(xcode_sign_adhoc.cmake) add_executable(fake_gtest fake_gtest.cpp) +add_executable(fake::gtest ALIAS fake_gtest) xcode_sign_adhoc(fake_gtest) gtest_discover_tests( - fake_gtest + fake::gtest TEST_PREFIX TEST: TEST_SUFFIX !1 EXTRA_ARGS how now "\"brown\" cow"