summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2001-05-16 22:08:14 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2001-05-16 22:08:14 (GMT)
commitd4498a9e52ccb2a21641e4519cea6bce1ab5dc75 (patch)
tree4fcf4cfb66f6373f3d9d5604e6b8f1fd9c62f0f6 /Source
parent9f8d296f159907bee285e708cbcb9b2403c01f5f (diff)
downloadCMake-d4498a9e52ccb2a21641e4519cea6bce1ab5dc75.zip
CMake-d4498a9e52ccb2a21641e4519cea6bce1ab5dc75.tar.gz
CMake-d4498a9e52ccb2a21641e4519cea6bce1ab5dc75.tar.bz2
BUG: fix for sun compiler
Diffstat (limited to 'Source')
-rw-r--r--Source/cmCacheManager.cxx2
-rw-r--r--Source/cmUnixMakefileGenerator.cxx7
2 files changed, 8 insertions, 1 deletions
diff --git a/Source/cmCacheManager.cxx b/Source/cmCacheManager.cxx
index 3788b00..d183e23 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 b002400..133398d 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";