From d4498a9e52ccb2a21641e4519cea6bce1ab5dc75 Mon Sep 17 00:00:00 2001 From: Bill Hoffman Date: Wed, 16 May 2001 18:08:14 -0400 Subject: [PATCH] BUG: fix for sun compiler --- Source/cmCacheManager.cxx | 2 +- Source/cmUnixMakefileGenerator.cxx | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Source/cmCacheManager.cxx b/Source/cmCacheManager.cxx index 3788b0042..d183e2301 100644 --- a/Source/cmCacheManager.cxx +++ b/Source/cmCacheManager.cxx @@ -111,7 +111,7 @@ bool cmCacheManager::LoadCache(const char* path, const int bsize = 4096; char buffer[bsize]; // input line is: key:type=value - cmRegularExpression reg("(.*):(.*)=(.*)"); + cmRegularExpression reg("^([^:]*):([^=]*)=(.*)$"); while(fin) { // Format is key:type=value diff --git a/Source/cmUnixMakefileGenerator.cxx b/Source/cmUnixMakefileGenerator.cxx index b00240052..133398d6a 100644 --- a/Source/cmUnixMakefileGenerator.cxx +++ b/Source/cmUnixMakefileGenerator.cxx @@ -760,6 +760,13 @@ void cmUnixMakefileGenerator::OutputMakeVariables(std::ostream& fout) "\n" "\n"; std::string replaceVars = variables; + bool dll = cmCacheManager::GetInstance()->IsOn("BUILD_SHARED_LIBS"); + if(!dll) + { + // if not a dll then remove the shlib -fpic flag + m_Makefile->AddDefinition("CMAKE_SHLIB_CFLAGS", ""); + } + m_Makefile->ExpandVariablesInString(replaceVars); fout << replaceVars.c_str(); fout << "CMAKE_CURRENT_SOURCE = " << m_Makefile->GetStartDirectory() << "\n";