Merge topic 'split-run-cmake-find_package-tests'

5ae2596027 Tests: Simplify and improve RunCMake/find_package-CPS tests
619c1bacfd Tests: Separate out CPS RunCMake/find_package tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Matthew Woehlke <matthew.woehlke@kitware.com>
Merge-request: !10301
This commit is contained in:
Brad King
2025-02-07 13:36:05 +00:00
committed by Kitware Robot
32 changed files with 94 additions and 100 deletions

View File

@@ -629,6 +629,7 @@ add_RunCMake_test(file-STRINGS)
add_RunCMake_test(find_file -DMINGW=${MINGW})
add_RunCMake_test(find_library -DMINGW=${MINGW} -DCYGWIN=${CYGWIN} -DMSYS=${MSYS} -DMSVC=${MSVC})
add_RunCMake_test(find_package -DMINGW=${MINGW} -DMSYS=${MSYS})
add_RunCMake_test(find_package-CPS)
add_RunCMake_test(find_path -DMINGW=${MINGW})
add_RunCMake_test(find_program -DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME})
add_RunCMake_test(foreach)

View File

@@ -0,0 +1,3 @@
cmake_minimum_required(VERSION 4.0)
project(${RunCMake_TEST} NONE)
include(${RunCMake_TEST}.cmake)

View File

@@ -0,0 +1,27 @@
CMake Warning \(dev\) at ExperimentalWarning\.cmake:[0-9]+ \(find_package\):
CMake's support for importing package information in the Common Package
Specification format \(via find_package\) is experimental\. It is meant only
for experimentation and feedback to CMake developers\.
Call Stack \(most recent call first\):
CMakeLists\.txt:3 \(include\)
This warning is for project developers\. Use -Wno-dev to suppress it\.
CMake Warning at ExperimentalWarning\.cmake:[0-9]+ \(find_package\):
By not providing "FindDoesNotExist\.cmake" in CMAKE_MODULE_PATH this project
has asked CMake to find a package configuration file provided by
"DoesNotExist", but CMake did not find one\.
Could not find a package configuration file provided by "DoesNotExist" with
any of the following names:
DoesNotExist\.cps
doesnotexist\.cps
DoesNotExistConfig\.cmake
doesnotexist-config\.cmake
Add the installation prefix of "DoesNotExist" to CMAKE_PREFIX_PATH or set
"DoesNotExist_DIR" to a directory containing one of the above files\. If
"DoesNotExist" provides a separate development package or SDK, be sure it
has been installed\.
Call Stack \(most recent call first\):
CMakeLists\.txt:3 \(include\)

View File

@@ -0,0 +1,10 @@
cmake_minimum_required(VERSION 4.0)
set(
CMAKE_EXPERIMENTAL_FIND_CPS_PACKAGES
"e82e467b-f997-4464-8ace-b00808fff261"
)
include(Setup.cmake)
find_package(DoesNotExist)

View File

@@ -5,7 +5,7 @@ CMake Error at MissingComponent.cmake:[0-9]+ \(find_package\):
The following configuration files were considered but not accepted:
(
[^
]*/Tests/RunCMake/find_package/cps/[Cc]omponent[Tt]est\.cps, version: unknown)+
]*/Tests/RunCMake/find_package-CPS/cps/[Cc]omponent[Tt]est\.cps, version: unknown)+
Call Stack \(most recent call first\):
CMakeLists\.txt:[0-9]+ \(include\)

View File

@@ -0,0 +1,7 @@
cmake_minimum_required(VERSION 4.0)
include(Setup.cmake)
###############################################################################
# Test requesting unavailable components from a package.
find_package(ComponentTest REQUIRED COMPONENTS DoesNotExist)

View File

@@ -0,0 +1,7 @@
cmake_minimum_required(VERSION 4.0)
include(Setup.cmake)
###############################################################################
# Test requesting components with missing dependencies from a package.
find_package(ComponentTest REQUIRED COMPONENTS Incomplete)

View File

@@ -5,7 +5,7 @@ CMake Error in cps/[Tt]ransitive[Mm]issing\.cps:
The following configuration files were considered but not accepted:
(
[^
]*/Tests/RunCMake/find_package/cps/[Cc]omponent[Tt]est\.cps, version: unknown)+
]*/Tests/RunCMake/find_package-CPS/cps/[Cc]omponent[Tt]est\.cps, version: unknown)+
Call Stack \(most recent call first\):
MissingTransitiveComponent\.cmake:[0-9]+ \(find_package\)

View File

@@ -0,0 +1,7 @@
cmake_minimum_required(VERSION 4.0)
include(Setup.cmake)
###############################################################################
# Test depending on components of another package which are unavailable.
find_package(TransitiveMissing REQUIRED)

View File

@@ -0,0 +1,8 @@
cmake_minimum_required(VERSION 4.0)
include(Setup.cmake)
###############################################################################
# Test depending on components of another package which are missing
# dependencies.
find_package(TransitiveIncomplete REQUIRED)

View File

@@ -1,11 +1,3 @@
CMake Warning \(dev\) at MissingTransitiveDependency\.cmake:[0-9]+ \(find_package\):
CMake's support for importing package information in the Common Package
Specification format \(via find_package\) is experimental\. It is meant only
for experimentation and feedback to CMake developers.
Call Stack \(most recent call first\):
CMakeLists\.txt:[0-9]+ \(include\)
This warning is for project developers. Use -Wno-dev to suppress it.
+
CMake Error in cps/[Ss]till[Ii]ncomplete\.cps:
Could not find a package configuration file provided by "DoesNotExist" with
any of the following names:

View File

@@ -0,0 +1,7 @@
cmake_minimum_required(VERSION 4.0)
include(Setup.cmake)
###############################################################################
# Test finding a package that is missing dependencies.
find_package(Incomplete REQUIRED)

View File

@@ -0,0 +1,15 @@
include(RunCMake)
run_cmake(ExperimentalWarning)
# Enable experimental feature and suppress warnings
set(RunCMake_TEST_OPTIONS
-Wno-dev
"-DCMAKE_EXPERIMENTAL_FIND_CPS_PACKAGES:STRING=e82e467b-f997-4464-8ace-b00808fff261"
)
run_cmake(MissingTransitiveDependency)
run_cmake(MissingComponent)
run_cmake(MissingComponentDependency)
run_cmake(MissingTransitiveComponent)
run_cmake(MissingTransitiveComponentDependency)

View File

@@ -1,7 +1,3 @@
cmake_minimum_required(VERSION 3.31)
set(CMAKE_EXPERIMENTAL_FIND_CPS_PACKAGES "e82e467b-f997-4464-8ace-b00808fff261")
# Protect tests from running inside the default install prefix.
set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/NotDefaultPrefix")
@@ -13,7 +9,3 @@ set(CMAKE_FIND_USE_CMAKE_SYSTEM_PATH OFF)
set(CMAKE_FIND_USE_INSTALL_PREFIX OFF)
set(CMAKE_PREFIX_PATH ${CMAKE_CURRENT_SOURCE_DIR})
###############################################################################
# Test finding a package that is missing dependencies.
find_package(Incomplete REQUIRED)

View File

@@ -1,19 +0,0 @@
cmake_minimum_required(VERSION 3.31)
set(CMAKE_EXPERIMENTAL_FIND_CPS_PACKAGES "e82e467b-f997-4464-8ace-b00808fff261")
# Protect tests from running inside the default install prefix.
set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/NotDefaultPrefix")
# Disable built-in search paths.
set(CMAKE_FIND_USE_PACKAGE_ROOT_PATH OFF)
set(CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH OFF)
set(CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH OFF)
set(CMAKE_FIND_USE_CMAKE_SYSTEM_PATH OFF)
set(CMAKE_FIND_USE_INSTALL_PREFIX OFF)
set(CMAKE_PREFIX_PATH ${CMAKE_CURRENT_SOURCE_DIR})
###############################################################################
# Test requesting unavailable components from a package.
find_package(ComponentTest REQUIRED COMPONENTS DoesNotExist)

View File

@@ -1,19 +0,0 @@
cmake_minimum_required(VERSION 3.31)
set(CMAKE_EXPERIMENTAL_FIND_CPS_PACKAGES "e82e467b-f997-4464-8ace-b00808fff261")
# Protect tests from running inside the default install prefix.
set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/NotDefaultPrefix")
# Disable built-in search paths.
set(CMAKE_FIND_USE_PACKAGE_ROOT_PATH OFF)
set(CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH OFF)
set(CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH OFF)
set(CMAKE_FIND_USE_CMAKE_SYSTEM_PATH OFF)
set(CMAKE_FIND_USE_INSTALL_PREFIX OFF)
set(CMAKE_PREFIX_PATH ${CMAKE_CURRENT_SOURCE_DIR})
###############################################################################
# Test requesting components with missing dependencies from a package.
find_package(ComponentTest REQUIRED COMPONENTS Incomplete)

View File

@@ -1,19 +0,0 @@
cmake_minimum_required(VERSION 3.31)
set(CMAKE_EXPERIMENTAL_FIND_CPS_PACKAGES "e82e467b-f997-4464-8ace-b00808fff261")
# Protect tests from running inside the default install prefix.
set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/NotDefaultPrefix")
# Disable built-in search paths.
set(CMAKE_FIND_USE_PACKAGE_ROOT_PATH OFF)
set(CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH OFF)
set(CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH OFF)
set(CMAKE_FIND_USE_CMAKE_SYSTEM_PATH OFF)
set(CMAKE_FIND_USE_INSTALL_PREFIX OFF)
set(CMAKE_PREFIX_PATH ${CMAKE_CURRENT_SOURCE_DIR})
###############################################################################
# Test depending on components of another package which are unavailable.
find_package(TransitiveMissing REQUIRED)

View File

@@ -1,20 +0,0 @@
cmake_minimum_required(VERSION 3.31)
set(CMAKE_EXPERIMENTAL_FIND_CPS_PACKAGES "e82e467b-f997-4464-8ace-b00808fff261")
# Protect tests from running inside the default install prefix.
set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/NotDefaultPrefix")
# Disable built-in search paths.
set(CMAKE_FIND_USE_PACKAGE_ROOT_PATH OFF)
set(CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH OFF)
set(CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH OFF)
set(CMAKE_FIND_USE_CMAKE_SYSTEM_PATH OFF)
set(CMAKE_FIND_USE_INSTALL_PREFIX OFF)
set(CMAKE_PREFIX_PATH ${CMAKE_CURRENT_SOURCE_DIR})
###############################################################################
# Test depending on components of another package which are missing
# dependencies.
find_package(TransitiveIncomplete REQUIRED)

View File

@@ -22,11 +22,6 @@ run_cmake_with_options(MissingConfigDebugPkg --debug-find-pkg=NotHere)
run_cmake(MissingConfigOneName)
run_cmake(MissingConfigRequired)
run_cmake(MissingConfigVersion)
run_cmake(MissingTransitiveDependency)
run_cmake(MissingComponent)
run_cmake(MissingComponentDependency)
run_cmake(MissingTransitiveComponent)
run_cmake(MissingTransitiveComponentDependency)
run_cmake(MixedModeOptions)
run_cmake_with_options(ModuleModeDebugPkg --debug-find-pkg=Foo,Zot)
run_cmake(PackageRoot)