|
|
@@ -259,6 +259,34 @@ struct cmFindLibraryHelper
|
|
|
};
|
|
|
};
|
|
|
|
|
|
+namespace {
|
|
|
+
|
|
|
+std::string const& get_prefixes(cmMakefile* mf)
|
|
|
+{
|
|
|
+#ifdef _WIN32
|
|
|
+ static std::string defaultPrefix = ";lib";
|
|
|
+#else
|
|
|
+ static std::string defaultPrefix = "lib";
|
|
|
+#endif
|
|
|
+ cmProp prefixProp = mf->GetDefinition("CMAKE_FIND_LIBRARY_PREFIXES");
|
|
|
+ return (prefixProp) ? *prefixProp : defaultPrefix;
|
|
|
+}
|
|
|
+
|
|
|
+std::string const& get_suffixes(cmMakefile* mf)
|
|
|
+{
|
|
|
+#ifdef _WIN32
|
|
|
+ static std::string defaultSuffix = ".lib;.dll.a;.a";
|
|
|
+#elif defined(__APPLE__)
|
|
|
+ static std::string defaultSuffix = ".tbd;.dylib;.so;.a";
|
|
|
+#elif defined(__hpux)
|
|
|
+ static std::string defaultSuffix = ".sl;.so;.a";
|
|
|
+#else
|
|
|
+ static std::string defaultSuffix = ".so;.a";
|
|
|
+#endif
|
|
|
+ cmProp suffixProp = mf->GetDefinition("CMAKE_FIND_LIBRARY_SUFFIXES");
|
|
|
+ return (suffixProp) ? *suffixProp : defaultSuffix;
|
|
|
+}
|
|
|
+}
|
|
|
cmFindLibraryHelper::cmFindLibraryHelper(std::string debugName, cmMakefile* mf,
|
|
|
cmFindBase const* base)
|
|
|
: Makefile(mf)
|
|
|
@@ -268,10 +296,9 @@ cmFindLibraryHelper::cmFindLibraryHelper(std::string debugName, cmMakefile* mf,
|
|
|
this->GG = this->Makefile->GetGlobalGenerator();
|
|
|
|
|
|
// Collect the list of library name prefixes/suffixes to try.
|
|
|
- std::string const& prefixes_list =
|
|
|
- this->Makefile->GetRequiredDefinition("CMAKE_FIND_LIBRARY_PREFIXES");
|
|
|
- std::string const& suffixes_list =
|
|
|
- this->Makefile->GetRequiredDefinition("CMAKE_FIND_LIBRARY_SUFFIXES");
|
|
|
+ std::string const& prefixes_list = get_prefixes(this->Makefile);
|
|
|
+ std::string const& suffixes_list = get_suffixes(this->Makefile);
|
|
|
+
|
|
|
cmExpandList(prefixes_list, this->Prefixes, true);
|
|
|
cmExpandList(suffixes_list, this->Suffixes, true);
|
|
|
this->RegexFromList(this->PrefixRegexStr, this->Prefixes);
|