mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-18 00:02:21 +08:00
find_package: Fix prefer-config mode to not fail on missing optional package
When `CMAKE_FIND_PACKAGE_PREFER_CONFIG` mode was set to `ON`, failure to find a package was fatal even if it was not `REQUIRED`. Fix this and add a test case. Fixes: #19557
This commit is contained in:
@@ -507,7 +507,9 @@ bool cmFindPackageCommand::InitialPass(std::vector<std::string> const& args,
|
|||||||
loadedPackage = true;
|
loadedPackage = true;
|
||||||
} else {
|
} else {
|
||||||
// The package was not loaded. Report errors.
|
// The package was not loaded. Report errors.
|
||||||
HandlePackageMode(HandlePackageModeType::Module);
|
if (HandlePackageMode(HandlePackageModeType::Module)) {
|
||||||
|
loadedPackage = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@@ -625,3 +625,9 @@ find_package(ACME NO_MODULE)
|
|||||||
if(ACME_FOUND)
|
if(ACME_FOUND)
|
||||||
message(SEND_ERROR "Should not find ACME package")
|
message(SEND_ERROR "Should not find ACME package")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
############################################################################
|
||||||
|
##Test find_package CMAKE_FIND_PACKAGE_PREFER_CONFIG with unknown package
|
||||||
|
|
||||||
|
set(CMAKE_FIND_PACKAGE_PREFER_CONFIG ON)
|
||||||
|
find_package(DoesNotExist)
|
||||||
|
Reference in New Issue
Block a user