diff --git a/Tests/RunCMake/find_package/ConfigureLog-config.txt b/Tests/RunCMake/find_package/ConfigureLog-config.txt index 8e6776f9b6..59c50ba762 100644 --- a/Tests/RunCMake/find_package/ConfigureLog-config.txt +++ b/Tests/RunCMake/find_package/ConfigureLog-config.txt @@ -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" \.\.\.$ diff --git a/Tests/RunCMake/find_package/ConfigureLog-stderr.txt b/Tests/RunCMake/find_package/ConfigureLog-stderr.txt index 70a6e3d833..336a0d8cd5 100644 --- a/Tests/RunCMake/find_package/ConfigureLog-stderr.txt +++ b/Tests/RunCMake/find_package/ConfigureLog-stderr.txt @@ -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 + + _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\)$ diff --git a/Tests/RunCMake/find_package/ConfigureLog.cmake b/Tests/RunCMake/find_package/ConfigureLog.cmake index 807b52597e..49e785c183 100644 --- a/Tests/RunCMake/find_package/ConfigureLog.cmake +++ b/Tests/RunCMake/find_package/ConfigureLog.cmake @@ -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) diff --git a/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/VersionCheck-1.5/VersionCheckConfig.cmake b/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/VersionCheck-1.5/VersionCheckConfig.cmake new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/VersionCheck-1.5/VersionCheckConfigVersion.cmake b/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/VersionCheck-1.5/VersionCheckConfigVersion.cmake new file mode 100644 index 0000000000..dd436aaab6 --- /dev/null +++ b/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/VersionCheck-1.5/VersionCheckConfigVersion.cmake @@ -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 () diff --git a/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/VersionCheck-2.5/VersionCheckConfig.cmake b/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/VersionCheck-2.5/VersionCheckConfig.cmake new file mode 100644 index 0000000000..e69de29bb2 diff --git a/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/VersionCheck-2.5/VersionCheckConfigVersion.cmake b/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/VersionCheck-2.5/VersionCheckConfigVersion.cmake new file mode 100644 index 0000000000..0028a41d20 --- /dev/null +++ b/Tests/RunCMake/find_package/ConfigureLog/lib/cmake/VersionCheck-2.5/VersionCheckConfigVersion.cmake @@ -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 ()