Tests/RunCMake/find_package: test ConfigureLog behaviors (version skips)

This commit is contained in:
Ben Boeckel
2025-05-07 14:47:57 +02:00
parent 63a90f13c2
commit 3b01fdb761
7 changed files with 191 additions and 0 deletions

View File

@@ -192,4 +192,77 @@ events:
path: ".*/Tests/RunCMake/find_package/ConfigureLog/cmake/FindWithInner.cmake"
mode: "module"
version: "1.1"
-
kind: "find_package-v1"
backtrace:(
- "[^"]+")+
name: "VersionCheck"
configs:
-
filename: "VersionCheckConfig.cmake"
kind: "cmake"
-
filename: "versioncheck-config.cmake"
kind: "cmake"
version_request:
version: "2.0"
version_complete: "2.0"
exact: false
settings:
required: "optional"
quiet: false
global: false
policy_scope: true
bypass_provider: false
names:
- "VersionCheck"
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: ".*/CMakeFiles/pkgRedirects/VersionCheckConfig.cmake"
mode: "config"
reason: "no_exist"
-
path: ".*/CMakeFiles/pkgRedirects/versioncheck-config.cmake"
mode: "config"
reason: "no_exist"
-
path: ".*/Tests/RunCMake/find_package/ConfigureLog/VersionCheckConfig.cmake"
mode: "config"
reason: "no_exist"
-
path: ".*/Tests/RunCMake/find_package/ConfigureLog/versioncheck-config.cmake"
mode: "config"
reason: "no_exist"
-
path: ".*/Tests/RunCMake/find_package/ConfigureLog/cmake/VersionCheckConfig.cmake"
mode: "config"
reason: "no_exist"
-
path: ".*/Tests/RunCMake/find_package/ConfigureLog/cmake/versioncheck-config.cmake"
mode: "config"
reason: "no_exist"
-
path: ".*/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/VersionCheck-1.5/VersionCheckConfig.cmake"
mode: "config"
reason: "insufficient_version"
-
path: ".*/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/VersionCheck-1.5/versioncheck-config.cmake"
mode: "config"
reason: "no_exist"
found:
path: ".*/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/VersionCheck-2.5/VersionCheckConfig.cmake"
mode: "config"
version: "2.5"
\.\.\.$

View File

@@ -191,5 +191,94 @@ CMake Debug Log at ConfigureLog.cmake:[0-9]+ \(find_package\):
.*/Tests/RunCMake/find_package/ConfigureLog/cmake/FindWithInner.cmake
Call Stack \(most recent call first\):
CMakeLists.txt:[0-9]+ \(include\)
CMake Debug Log at ConfigureLog.cmake:[0-9]+ \(find_package\):
find_package considered the following paths for FindVersionCheck.cmake:
.*/Tests/RunCMake/find_package/ConfigureLog/cmake/FindVersionCheck.cmake
.*/Modules/FindVersionCheck.cmake
( [^
]*
)*
The file was not found.
The internally managed CMAKE_FIND_PACKAGE_REDIRECTS_DIR.
.*/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 VersionCheck_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 VersionCheck's Config
module:
.*/CMakeFiles/pkgRedirects/VersionCheckConfig.cmake
.*/CMakeFiles/pkgRedirects/versioncheck-config.cmake
.*/Tests/RunCMake/find_package/ConfigureLog/VersionCheckConfig.cmake
.*/Tests/RunCMake/find_package/ConfigureLog/versioncheck-config.cmake
.*/Tests/RunCMake/find_package/ConfigureLog/cmake/VersionCheckConfig.cmake
.*/Tests/RunCMake/find_package/ConfigureLog/cmake/versioncheck-config.cmake(
.*/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/VersionCheck-1.5/VersionCheckConfig.cmake
.*/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/VersionCheck-1.5/versioncheck-config.cmake)?
.*/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/VersionCheck-2.5/VersionCheckConfig.cmake
The file was found at
.*/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/VersionCheck-2.5/VersionCheckConfig.cmake
Call Stack \(most recent call first\):
CMakeLists.txt:[0-9]+ \(include\)$

View File

@@ -22,3 +22,6 @@ find_package(ViaModule)
# Find a module that chains to a config package
find_package(WithInner)
# Version insufficiency testing
find_package(VersionCheck 2.0)

View File

@@ -0,0 +1,13 @@
set(PACKAGE_VERSION "1.5")
if (PACKAGE_VERSION VERSION_EQUAL PACKAGE_FIND_VERSION)
set(PACKAGE_VERSION_EXACT 1)
else ()
set(PACKAGE_VERSION_EXACT 0)
endif ()
if (PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
set(PACKAGE_VERSION_COMPATIBLE 0)
elseif (PACKAGE_FIND_VERSION_MAJOR EQUAL "1")
set(PACKAGE_VERSION_COMPATIBLE 1)
else ()
set(PACKAGE_VERSION_COMPATIBLE 0)
endif ()

View File

@@ -0,0 +1,13 @@
set(PACKAGE_VERSION "2.5")
if (PACKAGE_VERSION VERSION_EQUAL PACKAGE_FIND_VERSION)
set(PACKAGE_VERSION_EXACT 1)
else ()
set(PACKAGE_VERSION_EXACT 0)
endif ()
if (PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
set(PACKAGE_VERSION_COMPATIBLE 0)
elseif (PACKAGE_FIND_VERSION_MAJOR EQUAL "2")
set(PACKAGE_VERSION_COMPATIBLE 1)
else ()
set(PACKAGE_VERSION_COMPATIBLE 0)
endif ()