mirror of
https://github.com/Kitware/CMake.git
synced 2026-03-10 11:29:09 -05:00
Merge topic 'cps-test-empty-config'
4bb4bbcf59 Tests: Actually test CPS generation with no config
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Reviewed-by: Vito Gamberini <vito.gamberini@kitware.com>
Merge-request: !10926
This commit is contained in:
@@ -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()
|
||||
13
Tests/RunCMake/ExportPackageInfo/Config.cmake
Normal file
13
Tests/RunCMake/ExportPackageInfo/Config.cmake
Normal file
@@ -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)
|
||||
7
Tests/RunCMake/ExportPackageInfo/EmptyConfig-check.cmake
Normal file
7
Tests/RunCMake/ExportPackageInfo/EmptyConfig-check.cmake
Normal file
@@ -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")
|
||||
9
Tests/RunCMake/ExportPackageInfo/EmptyConfig.cmake
Normal file
9
Tests/RunCMake/ExportPackageInfo/EmptyConfig.cmake
Normal file
@@ -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)
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
|
||||
16
Tests/RunCMake/InstallPackageInfo/Config-check.cmake
Normal file
16
Tests/RunCMake/InstallPackageInfo/Config-check.cmake
Normal file
@@ -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()
|
||||
13
Tests/RunCMake/InstallPackageInfo/Config.cmake
Normal file
13
Tests/RunCMake/InstallPackageInfo/Config.cmake
Normal file
@@ -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)
|
||||
@@ -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")
|
||||
9
Tests/RunCMake/InstallPackageInfo/EmptyConfig.cmake
Normal file
9
Tests/RunCMake/InstallPackageInfo/EmptyConfig.cmake
Normal file
@@ -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)
|
||||
@@ -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()
|
||||
@@ -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)
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user