diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2003-08-01 17:13:43 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2003-08-01 17:13:43 (GMT) |
commit | 63ca58ceafa459ec769d7c969852ab1f6fb30f7c (patch) | |
tree | c1ddc14f5aa14a4ec909466fa1f1db092fe40198 | |
parent | 46acf162f5c42e5f2d1e9f65a128a3cdc9662cd2 (diff) | |
download | CMake-63ca58ceafa459ec769d7c969852ab1f6fb30f7c.zip CMake-63ca58ceafa459ec769d7c969852ab1f6fb30f7c.tar.gz CMake-63ca58ceafa459ec769d7c969852ab1f6fb30f7c.tar.bz2 |
ENH: allow lib prefix for to stay for nmake and borland make as it is not a system prefix
-rw-r--r-- | Source/cmGlobalNMakeMakefileGenerator.cxx | 1 | ||||
-rw-r--r-- | Source/cmLocalUnixMakefileGenerator.cxx | 9 | ||||
-rw-r--r-- | Source/cmLocalUnixMakefileGenerator.h | 6 |
3 files changed, 15 insertions, 1 deletions
diff --git a/Source/cmGlobalNMakeMakefileGenerator.cxx b/Source/cmGlobalNMakeMakefileGenerator.cxx index a1db99f..08b48c8 100644 --- a/Source/cmGlobalNMakeMakefileGenerator.cxx +++ b/Source/cmGlobalNMakeMakefileGenerator.cxx @@ -40,6 +40,7 @@ cmLocalGenerator *cmGlobalNMakeMakefileGenerator::CreateLocalGenerator() lg->SetWindowsShell(true); lg->SetMakeSilentFlag("/nologo"); lg->SetGlobalGenerator(this); + lg->SetIgnoreLibPrefix(true); return lg; } diff --git a/Source/cmLocalUnixMakefileGenerator.cxx b/Source/cmLocalUnixMakefileGenerator.cxx index c28da66..d7a8520 100644 --- a/Source/cmLocalUnixMakefileGenerator.cxx +++ b/Source/cmLocalUnixMakefileGenerator.cxx @@ -31,6 +31,7 @@ cmLocalUnixMakefileGenerator::cmLocalUnixMakefileGenerator() m_WindowsShell = false; m_IncludeDirective = "include"; m_MakefileVariableSize = 0; + m_IgnoreLibPrefix = false; } cmLocalUnixMakefileGenerator::~cmLocalUnixMakefileGenerator() @@ -601,11 +602,19 @@ void cmLocalUnixMakefileGenerator::OutputLinkLibraries(std::ostream& fout, } cmsys::RegularExpression libname("^lib([^/]*)(\\.so|\\.lib|\\.dll|\\.sl|\\.a|\\.dylib).*"); cmsys::RegularExpression libname_noprefix("([^/]*)(\\.so|\\.lib|\\.dll|\\.sl|\\.a|\\.dylib).*"); + std::cout << "file is " << file << "\n"; if(libname.find(file)) { // Library had "lib" prefix. librariesLinked += libLinkFlag; file = libname.match(1); + // if ignore libprefix is on, + // then add the lib prefix back into the name + if(m_IgnoreLibPrefix) + { + std::cout << "m_IgnoreLibPrefix\n"; + file = "lib" + file; + } librariesLinked += file; if(linkSuffix.size() && !hasSuffix.find(file)) { diff --git a/Source/cmLocalUnixMakefileGenerator.h b/Source/cmLocalUnixMakefileGenerator.h index b4fc54e..9b0d2d4 100644 --- a/Source/cmLocalUnixMakefileGenerator.h +++ b/Source/cmLocalUnixMakefileGenerator.h @@ -77,6 +77,10 @@ public: ///! Set max makefile variable size, default is 0 which means unlimited. void SetMakefileVariableSize(int s) { m_MakefileVariableSize = s; } + ///! If ignore lib prefix is true, then do not strip lib from the name of a library. + void SetIgnoreLibPrefix(bool s) { m_IgnoreLibPrefix = s; } + + protected: void AddDependenciesToSourceFile(cmDependInformation const*info, cmSourceFile *i, @@ -207,7 +211,7 @@ protected: int m_MakefileVariableSize; std::map<cmStdString, cmStdString> m_MakeVariableMap; std::map<cmStdString, cmStdString> m_ShortMakeVariableMap; - + bool m_IgnoreLibPrefix; std::string m_IncludeDirective; std::string m_MakeSilentFlag; std::string m_ExecutableOutputPath; |