diff options
author | Brad King <brad.king@kitware.com> | 2020-10-15 14:36:21 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2020-10-15 14:53:09 (GMT) |
commit | b9cb1d324d500e5b26afee33b6cd565e02117319 (patch) | |
tree | c7fe8eb4f2a003296e2755a24673defa01a64a1d /Tests | |
parent | b1d9a25f35a22f41b2c1b87725f091936711a28c (diff) | |
download | CMake-b9cb1d324d500e5b26afee33b6cd565e02117319.zip CMake-b9cb1d324d500e5b26afee33b6cd565e02117319.tar.gz CMake-b9cb1d324d500e5b26afee33b6cd565e02117319.tar.bz2 |
Fix regression in test/install/package configuration selection
In commit 7a969fe21d (cmMakefile: Refactor API to better handle empty
config values, 2020-06-30, v3.19.0-rc1~567^2), calls to
`GetGeneratorConfigs` that pass `OnlyMultiConfig` only want to get any
configurations listed if the generator is multi-config. Fix the
implementation to actually do that.
Fixes: #21316
Diffstat (limited to 'Tests')
-rw-r--r-- | Tests/RunCMake/CTest/RunCMakeTest.cmake | 11 | ||||
-rw-r--r-- | Tests/RunCMake/CTest/SingleConfig-test-stdout.txt | 8 | ||||
-rw-r--r-- | Tests/RunCMake/CTest/SingleConfig.cmake | 6 |
3 files changed, 25 insertions, 0 deletions
diff --git a/Tests/RunCMake/CTest/RunCMakeTest.cmake b/Tests/RunCMake/CTest/RunCMakeTest.cmake index 62606f8..ffc8f78 100644 --- a/Tests/RunCMake/CTest/RunCMakeTest.cmake +++ b/Tests/RunCMake/CTest/RunCMakeTest.cmake @@ -27,3 +27,14 @@ function(run_TestfileErrors) run_cmake_command(TestfileErrors-test ${CMAKE_CTEST_COMMAND} -C Debug) endfunction() run_TestfileErrors() + +function(run_SingleConfig) + set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/SingleConfig-build) + run_cmake(SingleConfig) + set(RunCMake_TEST_NO_CLEAN 1) + run_cmake_command(SingleConfig-build ${CMAKE_COMMAND} --build .) + run_cmake_command(SingleConfig-test ${CMAKE_CTEST_COMMAND}) # No -C Debug required for single-config. +endfunction() +if(NOT RunCMake_GENERATOR_IS_MULTI_CONFIG) + run_SingleConfig() +endif() diff --git a/Tests/RunCMake/CTest/SingleConfig-test-stdout.txt b/Tests/RunCMake/CTest/SingleConfig-test-stdout.txt new file mode 100644 index 0000000..1c39ea1 --- /dev/null +++ b/Tests/RunCMake/CTest/SingleConfig-test-stdout.txt @@ -0,0 +1,8 @@ +^Test project [^ +]*/Tests/RunCMake/CTest/SingleConfig-build + Start 1: SingleConfig +1/1 Test #1: SingleConfig \.+ +Passed +[0-9.]+ sec ++ +100% tests passed, 0 tests failed out of 1 ++ +Total Test time \(real\) = +[0-9.]+ sec$ diff --git a/Tests/RunCMake/CTest/SingleConfig.cmake b/Tests/RunCMake/CTest/SingleConfig.cmake new file mode 100644 index 0000000..7c10e06 --- /dev/null +++ b/Tests/RunCMake/CTest/SingleConfig.cmake @@ -0,0 +1,6 @@ +include(CTest) + +# This should be ignored by single-config generators. +set(CMAKE_CONFIGURATION_TYPES "Release;Debug" CACHE INTERNAL "Supported configuration types") + +add_test(NAME SingleConfig COMMAND ${CMAKE_COMMAND} -E echo SingleConfig) |