Tests/RunCMake/find_package: test ConfigureLog behaviors (config)

This first test covers the basic "find a package with a config file"
behavior. Further tests will cover other behaviors.
This commit is contained in:
Ben Boeckel
2025-05-07 14:47:57 +02:00
parent 8df9819839
commit 48575b554b
6 changed files with 167 additions and 0 deletions

View File

@@ -0,0 +1,66 @@
^
---
events:
-
kind: "message-v1"
backtrace:(
- "[^"]+")+
message: \|(
+ [^
]*)*
-
kind: "find_package-v1"
backtrace:(
- "[^"]+")+
name: "ViaConfig"
configs:
-
filename: "ViaConfigConfig.cmake"
kind: "cmake"
-
filename: "viaconfig-config.cmake"
kind: "cmake"
version_request:
exact: false
settings:
required: "optional"
quiet: false
global: false
policy_scope: true
bypass_provider: false
names:
- "ViaConfig"
path_suffixes:
- ""
paths:
CMAKE_FIND_USE_CMAKE_PATH: true
CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: true
CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: true
CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: true
CMAKE_FIND_USE_INSTALL_PREFIX: true
CMAKE_FIND_USE_PACKAGE_ROOT_PATH: true
CMAKE_FIND_USE_CMAKE_PACKAGE_REGISTRY: true
CMAKE_FIND_USE_SYSTEM_PACKAGE_REGISTRY: true
CMAKE_FIND_ROOT_PATH_MODE: "BOTH"
candidates:
-
path: ".*/Tests/RunCMake/find_package/ConfigureLog-build/CMakeFiles/pkgRedirects/ViaConfigConfig.cmake"
mode: "config"
reason: "no_exist"
-
path: ".*/Tests/RunCMake/find_package/ConfigureLog-build/CMakeFiles/pkgRedirects/viaconfig-config.cmake"
mode: "config"
reason: "no_exist"
-
path: ".*/Tests/RunCMake/find_package/ConfigureLog/ViaConfigConfig.cmake"
mode: "config"
reason: "no_exist"
-
path: ".*/Tests/RunCMake/find_package/ConfigureLog/viaconfig-config.cmake"
mode: "config"
reason: "no_exist"
found:
path: ".*/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/ViaConfig/ViaConfigConfig.cmake"
mode: "config"
version: "1\.0"
\.\.\.$

View File

@@ -0,0 +1,81 @@
^CMake Debug Log at ConfigureLog.cmake:[0-9]+ \(find_package\):
find_package considered the following paths for FindViaConfig.cmake:
.*/Tests/RunCMake/find_package/ConfigureLog/cmake/FindViaConfig.cmake
.*/Modules/FindViaConfig.cmake
The file was not found.
The internally managed CMAKE_FIND_PACKAGE_REDIRECTS_DIR.
.*/Tests/RunCMake/find_package/ConfigureLog-build/CMakeFiles/pkgRedirects
<PackageName>_ROOT CMake variable \[CMAKE_FIND_USE_PACKAGE_ROOT_PATH\].
none
CMAKE_PREFIX_PATH variable \[CMAKE_FIND_USE_CMAKE_PATH\].
.*/Tests/RunCMake/find_package/ConfigureLog
CMAKE_FRAMEWORK_PATH and CMAKE_APPBUNDLE_PATH variables
\[CMAKE_FIND_USE_CMAKE_PATH\].
Env variable ViaConfig_DIR \[CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH\].
none
CMAKE_PREFIX_PATH env variable \[CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH\].
( [^
]*
)*
CMAKE_FRAMEWORK_PATH and CMAKE_APPBUNDLE_PATH env variables
\[CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH\].
(
none
)?
Paths specified by the find_package HINTS option.
none
Standard system environment variables
\[CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH\].
( [^
]*
)*
CMake User Package Registry \[CMAKE_FIND_USE_PACKAGE_REGISTRY\].
none
CMake variables defined in the Platform file
\[CMAKE_FIND_USE_CMAKE_SYSTEM_PATH\].
( [^
]*
)*
CMake System Package Registry
\[CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY\].
none
Paths specified by the find_package PATHS option.
none
find_package considered the following locations for ViaConfig's Config
module:
.*/Tests/RunCMake/find_package/ConfigureLog-build/CMakeFiles/pkgRedirects/ViaConfigConfig.cmake
.*/Tests/RunCMake/find_package/ConfigureLog-build/CMakeFiles/pkgRedirects/viaconfig-config.cmake
.*/Tests/RunCMake/find_package/ConfigureLog/ViaConfigConfig.cmake
.*/Tests/RunCMake/find_package/ConfigureLog/viaconfig-config.cmake
.*/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/ViaConfig/ViaConfigConfig.cmake
The file was found at
.*/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/ViaConfig/ViaConfigConfig.cmake
Call Stack \(most recent call first\):
CMakeLists.txt:[0-9]+ \(include\)$

View File

@@ -0,0 +1,18 @@
list(INSERT CMAKE_MODULE_PATH 0
"${CMAKE_CURRENT_LIST_DIR}/ConfigureLog/cmake")
list(INSERT CMAKE_PREFIX_PATH 0
"${CMAKE_CURRENT_LIST_DIR}/ConfigureLog")
set(CMAKE_FIND_DEBUG_MODE 1)
# Stable sorting for predictable behaviors.
set(CMAKE_FIND_PACKAGE_SORT_ORDER NAME)
# Unset search variables for more predictable output.
unset(CMAKE_FRAMEWORK_PATH)
unset(CMAKE_APPBUNDLE_PATH)
unset(ENV{CMAKE_PREFIX_PATH})
unset(ENV{CMAKE_FRAMEWORK_PATH})
unset(ENV{CMAKE_APPBUNDLE_PATH})
# Find a config package
find_package(ViaConfig)

View File

@@ -0,0 +1 @@
set(PACKAGE_VERSION "1.0")

View File

@@ -4,6 +4,7 @@ run_cmake(CMP0074-WARN)
run_cmake(CMP0074-OLD)
run_cmake(ComponentRecursion)
run_cmake(ComponentRequiredAndOptional)
run_cmake(ConfigureLog)
run_cmake(EmptyRoots)
run_cmake(FromPATHEnv)
run_cmake_with_options(FromPATHEnvDebugPkg --debug-find-pkg=Resolved)