Browse Source

find_library: Improve regex readability in --debug-find output

If there is only one possible library prefix/suffix, omit the capture
group around it in the debug output.
Thomas Schenker 2 years ago
parent
commit
f60e921262

+ 8 - 2
Source/cmFindLibraryCommand.cxx

@@ -251,8 +251,14 @@ struct cmFindLibraryHelper
   void DebugLibraryFailed(std::string const& name, std::string const& path)
   {
     if (this->DebugMode) {
-      auto regexName =
-        cmStrCat(this->PrefixRegexStr, name, this->SuffixRegexStr);
+      // To improve readability of the debug output, if there is only one
+      // prefix/suffix, use the plain prefix/suffix instead of the regex.
+      const auto& prefix = (this->Prefixes.size() == 1) ? this->Prefixes[0]
+                                                        : this->PrefixRegexStr;
+      const auto& suffix = (this->Suffixes.size() == 1) ? this->Suffixes[0]
+                                                        : this->SuffixRegexStr;
+
+      auto regexName = cmStrCat(prefix, name, suffix);
       this->DebugSearches.FailedAt(path, regexName);
     }
   }

+ 1 - 1
Tests/RunCMake/find_library/FromScriptMode-stderr-darwin.txt

@@ -1,4 +1,4 @@
 .*find_library considered the following locations.*
-.*\(lib\)library_no_exist\(\\.tbd\|\\.dylib\|\\.so\|\\.a\).*
+.*liblibrary_no_exist\(\\.tbd\|\\.dylib\|\\.so\|\\.a\).*
 .*The item was found at.*
 .*lib/libcreated.a.*

+ 1 - 1
Tests/RunCMake/find_library/FromScriptMode-stderr.txt

@@ -1,4 +1,4 @@
 .*find_library considered the following locations.*
-.*\(lib\)library_no_exist\(\\.so\|\\.a\).*
+.*liblibrary_no_exist\(\\.so\|\\.a\).*
 .*The item was found at.*
 .*lib/libcreated.a.*