diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index d9a20a99c..565e8fe97 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -1199,10 +1199,14 @@ std::string cmSystemTools::CollapseFullPath(const char* in_name) # ifdef MAXPATHLEN char resolved_name[MAXPATHLEN]; # else +# ifdef PATH_MAX char resolved_name[PATH_MAX]; +# else + char resolved_name[5024]; +# endif # endif - realpath(in_name, resolved_name); - return resolved_name; + realpath(in_name, resolved_name); + return resolved_name; #endif } diff --git a/Source/cmUnixMakefileGenerator.cxx b/Source/cmUnixMakefileGenerator.cxx index b1bd7db1b..5808abceb 100644 --- a/Source/cmUnixMakefileGenerator.cxx +++ b/Source/cmUnixMakefileGenerator.cxx @@ -450,8 +450,8 @@ void cmUnixMakefileGenerator::OutputLinkLibraries(std::ostream& fout, runtimeDirs.push_back( libpath ); } } - cmRegularExpression libname("lib([^.]*)\\.(.*)"); - cmRegularExpression libname_noprefix("([^.]*)\\.(.*)"); + cmRegularExpression libname("lib(.*)(\\.so|\\.sl|\\.a|\\.dylib).*"); + cmRegularExpression libname_noprefix("(.*)(\\.so|\\.sl|\\.a|\\.dylib).*"); if(libname.find(file)) { librariesLinked += "-l";