diff --git a/Tests/RunCMake/find_package/ConfigureLog/cmake/FindParameterCheck.cmake b/Tests/RunCMake/find_package/ConfigureLog/cmake/FindParameterCheck.cmake new file mode 100644 index 0000000000..ae73fcc3d8 --- /dev/null +++ b/Tests/RunCMake/find_package/ConfigureLog/cmake/FindParameterCheck.cmake @@ -0,0 +1,24 @@ +set("${CMAKE_FIND_PACKAGE_NAME}_VERSION" "1.2") + +if (${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION_EXACT AND + NOT ${CMAKE_FIND_PACKAGE_NAME}_VERSION VERSION_EQUAL ${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION) + set("${CMAKE_FIND_PACKAGE_NAME}_FOUND" 0) + set("${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE" + "Not an EXACT version match") +elseif (DEFINED ${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION_RANGE AND + (${CMAKE_FIND_PACKAGE_NAME}_VERSION VERSION_LESS ${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION_MIN OR + (${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION_RANGE_MAX STREQUAL "EXCLUDE" AND + ${CMAKE_FIND_PACKAGE_NAME}_VERSION VERSION_GREATER_EQUAL ${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION_MAX) OR + (${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION_RANGE_MAX STREQUAL "INCLUDE" AND + ${CMAKE_FIND_PACKAGE_NAME}_VERSION VERSION_GREATER ${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION_MAX))) + set("${CMAKE_FIND_PACKAGE_NAME}_FOUND" 0) + set("${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE" + "Out-of-range version request") +elseif (DEFINED ${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION AND + ${CMAKE_FIND_PACKAGE_NAME}_VERSION VERSION_LESS ${CMAKE_FIND_PACKAGE_NAME}_FIND_VERSION) + set("${CMAKE_FIND_PACKAGE_NAME}_FOUND" 0) + set("${CMAKE_FIND_PACKAGE_NAME}_NOT_FOUND_MESSAGE" + "Insufficient version") +else () + set("${CMAKE_FIND_PACKAGE_NAME}_FOUND" 1) +endif () diff --git a/Tests/RunCMake/find_package/ConfigureLogParameters-config.txt b/Tests/RunCMake/find_package/ConfigureLogParameters-config.txt new file mode 100644 index 0000000000..84e27b14a8 --- /dev/null +++ b/Tests/RunCMake/find_package/ConfigureLogParameters-config.txt @@ -0,0 +1,109 @@ +^ +--- +events: + - + kind: "message-v1" + backtrace:( + - "[^"]+")+ + message: \|( ++ [^ +]*)* + - + kind: "find_package-v1" + backtrace:( + - "[^"]+")+ + name: "ParameterCheck" + version_request: + version: "1.0" + version_complete: "1.0" + exact: true + settings: + required: "optional" + quiet: false + global: false + policy_scope: true + bypass_provider: false + 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/cmake/FindParameterCheck.cmake" + mode: "module" + reason: "not_found" + message: "Not an EXACT version match" + found: null + - + kind: "find_package-v1" + backtrace:( + - "[^"]+")+ + name: "ParameterCheck" + version_request: + version: "1.0" + version_complete: "1.0...1.5" + min: "INCLUDE" + max: "INCLUDE" + exact: false + settings: + required: "optional" + quiet: false + global: false + policy_scope: true + bypass_provider: false + 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" + found: + path: ".*/Tests/RunCMake/find_package/ConfigureLog/cmake/FindParameterCheck.cmake" + mode: "module" + version: "1.2" + - + kind: "find_package-v1" + backtrace:( + - "[^"]+")+ + name: "ParameterCheck" + version_request: + version: "1.2" + version_complete: "1.2" + exact: false + settings: + required: "optional" + quiet: false + global: false + policy_scope: true + bypass_provider: false + 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" + found: + path: ".*/Tests/RunCMake/find_package/ConfigureLog/cmake/FindParameterCheck.cmake" + mode: "module" + version: "1.2" +\.\.\.$ diff --git a/Tests/RunCMake/find_package/ConfigureLogParameters-stderr.txt b/Tests/RunCMake/find_package/ConfigureLogParameters-stderr.txt new file mode 100644 index 0000000000..bd84577cfc --- /dev/null +++ b/Tests/RunCMake/find_package/ConfigureLogParameters-stderr.txt @@ -0,0 +1,25 @@ +^CMake Debug Log at ConfigureLogParameters.cmake:[0-9]+ \(find_package\): + find_package considered the following paths for FindParameterCheck.cmake: + + .*/Modules/FindParameterCheck.cmake + + The file was found at + + .*/Tests/RunCMake/find_package/ConfigureLog/cmake/FindParameterCheck.cmake + + The module is considered not found due to ParameterCheck_FOUND being FALSE. +Call Stack \(most recent call first\): + CMakeLists.txt:[0-9]+ \(include\)( + + +CMake Debug Log at ConfigureLogParameters.cmake:[0-9]+ \(find_package\): + find_package considered the following paths for FindParameterCheck.cmake: + + .*/Modules/FindParameterCheck.cmake + + The file was found at + + .*/Tests/RunCMake/find_package/ConfigureLog/cmake/FindParameterCheck.cmake + +Call Stack \(most recent call first\): + CMakeLists.txt:[0-9]+ \(include\))+$ diff --git a/Tests/RunCMake/find_package/ConfigureLogParameters.cmake b/Tests/RunCMake/find_package/ConfigureLogParameters.cmake new file mode 100644 index 0000000000..e4d17e47bd --- /dev/null +++ b/Tests/RunCMake/find_package/ConfigureLogParameters.cmake @@ -0,0 +1,11 @@ +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) + +# Parameter testing +find_package(ParameterCheck 1.0 EXACT) +find_package(ParameterCheck 1.0...1.5) +find_package(ParameterCheck 1.2) diff --git a/Tests/RunCMake/find_package/RunCMakeTest.cmake b/Tests/RunCMake/find_package/RunCMakeTest.cmake index 0fd794772a..879c64cb56 100644 --- a/Tests/RunCMake/find_package/RunCMakeTest.cmake +++ b/Tests/RunCMake/find_package/RunCMakeTest.cmake @@ -5,6 +5,7 @@ run_cmake(CMP0074-OLD) run_cmake(ComponentRecursion) run_cmake(ComponentRequiredAndOptional) run_cmake(ConfigureLog) +run_cmake(ConfigureLogParameters) run_cmake(EmptyRoots) run_cmake(FromPATHEnv) run_cmake_with_options(FromPATHEnvDebugPkg --debug-find-pkg=Resolved)