From ac20cd43c0bfdc4b3955a7a7924d7914f000a4c2 Mon Sep 17 00:00:00 2001 From: Matthew Woehlke Date: Thu, 30 Jan 2025 14:03:56 -0500 Subject: find_package: Fix reporting of transitive dependency errors Fix find_package to set an error message when trying to find dependencies of a CPS package fails. This fixes the command previously reporting "find_package unknown error" for such failures. --- Source/cmFindPackageCommand.cxx | 2 ++ Tests/RunCMake/find_package/MissingTransitiveDependency-stderr.txt | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx index eceda91..62e70ea 100644 --- a/Source/cmFindPackageCommand.cxx +++ b/Source/cmFindPackageCommand.cxx @@ -1969,6 +1969,8 @@ bool cmFindPackageCommand::FindPackageDependencies( // Try to find the requirement; fail if we can't. if (!fp.FindPackage() || fp.FileFound.empty()) { + this->SetError(cmStrCat("could not find "_s, dep.Name, + ", required by "_s, this->Name, '.')); return false; } } diff --git a/Tests/RunCMake/find_package/MissingTransitiveDependency-stderr.txt b/Tests/RunCMake/find_package/MissingTransitiveDependency-stderr.txt index ebb77a9..eaa3cd2 100644 --- a/Tests/RunCMake/find_package/MissingTransitiveDependency-stderr.txt +++ b/Tests/RunCMake/find_package/MissingTransitiveDependency-stderr.txt @@ -23,3 +23,8 @@ Call Stack \(most recent call first\): cps/[Ii]ncomplete\.cps MissingTransitiveDependency\.cmake:[0-9]+ \(find_package\) CMakeLists\.txt:[0-9]+ \(include\) ++ +CMake Error at MissingTransitiveDependency\.cmake:[0-9]+ \(find_package\): + find_package could not find StillIncomplete, required by Incomplete\. +Call Stack \(most recent call first\): + CMakeLists\.txt:[0-9]+ \(include\) -- cgit v0.12