diff --git a/Tests/RunCMake/ExportPackageInfo/PerConfigGeneration-check.cmake b/Tests/RunCMake/ExportPackageInfo/Config-check.cmake similarity index 65% rename from Tests/RunCMake/ExportPackageInfo/PerConfigGeneration-check.cmake rename to Tests/RunCMake/ExportPackageInfo/Config-check.cmake index 221942fe5a..acb4ecd310 100644 --- a/Tests/RunCMake/ExportPackageInfo/PerConfigGeneration-check.cmake +++ b/Tests/RunCMake/ExportPackageInfo/Config-check.cmake @@ -1,14 +1,14 @@ include(${CMAKE_CURRENT_LIST_DIR}/Assertions.cmake) -set(out_dir "${RunCMake_BINARY_DIR}/PerConfigGeneration-build") +set(out_dir "${RunCMake_BINARY_DIR}/Config-build") file(READ "${out_dir}/foo.cps" content) if(RunCMake_GENERATOR_IS_MULTI_CONFIG) - foreach(config ${CMAKE_CONFIGURATION_TYPES}) + foreach(config FooConfig BarConfig) expect_object("${content}" "components" "foo" "configurations" ${config}) endforeach() else() - include(${RunCMake_TEST_BINARY_DIR}/build_type.cmake) + set(config TestConfig) expect_object("${content}" "components" "foo" "configurations" ${config}) endif() diff --git a/Tests/RunCMake/ExportPackageInfo/Config.cmake b/Tests/RunCMake/ExportPackageInfo/Config.cmake new file mode 100644 index 0000000000..361fb66ee5 --- /dev/null +++ b/Tests/RunCMake/ExportPackageInfo/Config.cmake @@ -0,0 +1,13 @@ +project(Config CXX) + +get_property(_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) +if(_isMultiConfig) + set(CMAKE_CONFIGURATION_TYPES "FooConfig;BarConfig" CACHE STRING "" FORCE) +else() + set(CMAKE_BUILD_TYPE "TestConfig" CACHE STRING "" FORCE) +endif() + +add_library(foo foo.cxx) + +install(TARGETS foo EXPORT foo) +export(EXPORT foo PACKAGE_INFO foo) diff --git a/Tests/RunCMake/ExportPackageInfo/EmptyConfig-check.cmake b/Tests/RunCMake/ExportPackageInfo/EmptyConfig-check.cmake new file mode 100644 index 0000000000..ffabf80bf2 --- /dev/null +++ b/Tests/RunCMake/ExportPackageInfo/EmptyConfig-check.cmake @@ -0,0 +1,7 @@ +include(${CMAKE_CURRENT_LIST_DIR}/Assertions.cmake) + +set(out_dir "${RunCMake_BINARY_DIR}/EmptyConfig-build") + +file(READ "${out_dir}/foo.cps" content) + +expect_object("${content}" "components" "foo" "configurations" "noconfig") diff --git a/Tests/RunCMake/ExportPackageInfo/EmptyConfig.cmake b/Tests/RunCMake/ExportPackageInfo/EmptyConfig.cmake new file mode 100644 index 0000000000..4ed643657b --- /dev/null +++ b/Tests/RunCMake/ExportPackageInfo/EmptyConfig.cmake @@ -0,0 +1,9 @@ +project(EmptyConfig CXX) + +set(CMAKE_BUILD_TYPE "" CACHE STRING "" FORCE) +set(CMAKE_CONFIGURATION_TYPES "" CACHE STRING "" FORCE) + +add_library(foo foo.cxx) + +install(TARGETS foo EXPORT foo) +export(EXPORT foo PACKAGE_INFO foo) diff --git a/Tests/RunCMake/ExportPackageInfo/PerConfigGeneration.cmake b/Tests/RunCMake/ExportPackageInfo/PerConfigGeneration.cmake deleted file mode 100644 index ed9b29ae9a..0000000000 --- a/Tests/RunCMake/ExportPackageInfo/PerConfigGeneration.cmake +++ /dev/null @@ -1,13 +0,0 @@ -project(PerConfigGeneration CXX) - -set(config ${CMAKE_BUILD_TYPE}) -if(NOT config) - set(config noconfig) -endif() - -file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/build_type.cmake" "set(config \"${config}\")") - -add_library(foo foo.cxx) - -install(TARGETS foo EXPORT foo) -export(EXPORT foo PACKAGE_INFO foo) diff --git a/Tests/RunCMake/ExportPackageInfo/RunCMakeTest.cmake b/Tests/RunCMake/ExportPackageInfo/RunCMakeTest.cmake index 67fbe69109..c505f289c4 100644 --- a/Tests/RunCMake/ExportPackageInfo/RunCMakeTest.cmake +++ b/Tests/RunCMake/ExportPackageInfo/RunCMakeTest.cmake @@ -40,5 +40,6 @@ run_cmake(Requirements) run_cmake(TargetTypes) run_cmake(DependsMultiple) run_cmake(LinkOnly) -run_cmake(PerConfigGeneration) +run_cmake(Config) +run_cmake(EmptyConfig) run_cmake(FileSetHeaders) diff --git a/Tests/RunCMake/InstallPackageInfo/Config-check.cmake b/Tests/RunCMake/InstallPackageInfo/Config-check.cmake new file mode 100644 index 0000000000..7739681e2c --- /dev/null +++ b/Tests/RunCMake/InstallPackageInfo/Config-check.cmake @@ -0,0 +1,16 @@ +include(${CMAKE_CURRENT_LIST_DIR}/Assertions.cmake) + +set(out_dir "${RunCMake_BINARY_DIR}/Config-build/CMakeFiles/Export/510c5684a4a8a792eadfb55bc9744983") + +macro(check_config CONFIG) + string(TOLOWER "${CONFIG}" CONFIG_LOWER) + file(READ "${out_dir}/foo@${CONFIG_LOWER}.cps" content) + expect_value("${content}" "${CONFIG}" "configuration") +endmacro() + +if(RunCMake_GENERATOR_IS_MULTI_CONFIG) + check_config(FooConfig) + check_config(BarConfig) +else() + check_config(TestConfig) +endif() diff --git a/Tests/RunCMake/InstallPackageInfo/Config.cmake b/Tests/RunCMake/InstallPackageInfo/Config.cmake new file mode 100644 index 0000000000..ce53713a86 --- /dev/null +++ b/Tests/RunCMake/InstallPackageInfo/Config.cmake @@ -0,0 +1,13 @@ +project(Config CXX) + +get_property(_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) +if(_isMultiConfig) + set(CMAKE_CONFIGURATION_TYPES "FooConfig;BarConfig" CACHE STRING "" FORCE) +else() + set(CMAKE_BUILD_TYPE "TestConfig" CACHE STRING "" FORCE) +endif() + +add_library(foo foo.cxx) + +install(TARGETS foo EXPORT foo) +install(PACKAGE_INFO foo DESTINATION cps EXPORT foo) diff --git a/Tests/RunCMake/InstallPackageInfo/EmptyConfig-check.cmake b/Tests/RunCMake/InstallPackageInfo/EmptyConfig-check.cmake new file mode 100644 index 0000000000..49ca07a3eb --- /dev/null +++ b/Tests/RunCMake/InstallPackageInfo/EmptyConfig-check.cmake @@ -0,0 +1,7 @@ +include(${CMAKE_CURRENT_LIST_DIR}/Assertions.cmake) + +set(out_dir "${RunCMake_BINARY_DIR}/EmptyConfig-build/CMakeFiles/Export/510c5684a4a8a792eadfb55bc9744983") + +file(READ "${out_dir}/foo@noconfig.cps" content) + +expect_value("${content}" "noconfig" "configuration") diff --git a/Tests/RunCMake/InstallPackageInfo/EmptyConfig.cmake b/Tests/RunCMake/InstallPackageInfo/EmptyConfig.cmake new file mode 100644 index 0000000000..9641b54b28 --- /dev/null +++ b/Tests/RunCMake/InstallPackageInfo/EmptyConfig.cmake @@ -0,0 +1,9 @@ +project(EmptyConfig CXX) + +set(CMAKE_BUILD_TYPE "" CACHE STRING "" FORCE) +set(CMAKE_CONFIGURATION_TYPES "" CACHE STRING "" FORCE) + +add_library(foo foo.cxx) + +install(TARGETS foo EXPORT foo) +install(PACKAGE_INFO foo DESTINATION cps EXPORT foo) diff --git a/Tests/RunCMake/InstallPackageInfo/PerConfigGeneration-check.cmake b/Tests/RunCMake/InstallPackageInfo/PerConfigGeneration-check.cmake deleted file mode 100644 index 5ff99a5f6b..0000000000 --- a/Tests/RunCMake/InstallPackageInfo/PerConfigGeneration-check.cmake +++ /dev/null @@ -1,24 +0,0 @@ -include(${CMAKE_CURRENT_LIST_DIR}/Assertions.cmake) - -set(out_dir "${RunCMake_BINARY_DIR}/PerConfigGeneration-build/CMakeFiles/Export/510c5684a4a8a792eadfb55bc9744983") - -macro(check_config) - string(TOLOWER "${config}" config_lower) - if(NOT EXISTS "${out_dir}/foo@${config_lower}.cps") - set(RunCMake_TEST_FAILED - "Configuration file for '${config}' does not exist") - return() - endif() - - file(READ "${out_dir}/foo@${config_lower}.cps" content) - expect_value("${content}" "${config}" "configuration") -endmacro() - -if(RunCMake_GENERATOR_IS_MULTI_CONFIG) - foreach(config ${CMAKE_CONFIGURATION_TYPES}) - check_config() - endforeach() -else() - include(${RunCMake_TEST_BINARY_DIR}/build_type.cmake) - check_config() -endif() diff --git a/Tests/RunCMake/InstallPackageInfo/PerConfigGeneration.cmake b/Tests/RunCMake/InstallPackageInfo/PerConfigGeneration.cmake deleted file mode 100644 index 4f4c149c0d..0000000000 --- a/Tests/RunCMake/InstallPackageInfo/PerConfigGeneration.cmake +++ /dev/null @@ -1,13 +0,0 @@ -project(PerConfigGeneration CXX) - -set(config ${CMAKE_BUILD_TYPE}) -if(NOT config) - set(config noconfig) -endif() - -file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/build_type.cmake" "set(config \"${config}\")") - -add_library(foo foo.cxx) - -install(TARGETS foo EXPORT foo) -install(PACKAGE_INFO foo DESTINATION cps EXPORT foo) diff --git a/Tests/RunCMake/InstallPackageInfo/RunCMakeTest.cmake b/Tests/RunCMake/InstallPackageInfo/RunCMakeTest.cmake index 1f58923f23..67e43ecf46 100644 --- a/Tests/RunCMake/InstallPackageInfo/RunCMakeTest.cmake +++ b/Tests/RunCMake/InstallPackageInfo/RunCMakeTest.cmake @@ -48,6 +48,7 @@ run_cmake(Requirements) run_cmake(TargetTypes) run_cmake(DependsMultiple) run_cmake(DependsMultipleNotInstalled) -run_cmake(PerConfigGeneration) +run_cmake(Config) +run_cmake(EmptyConfig) run_cmake(FileSetHeaders) run_cmake_install(Destination)