summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalVisualStudio6Generator.cxx
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2006-04-03 16:57:51 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2006-04-03 16:57:51 (GMT)
commit3c8e899102dc58efa5301240f5bf5bf2225c2b65 (patch)
treeea7b3aa1cf42176e6719ffe9506ec76e4dcd1c9d /Source/cmLocalVisualStudio6Generator.cxx
parent32b63ef915eadc1d5e48c63e09ca1a65e0f0ca52 (diff)
downloadCMake-3c8e899102dc58efa5301240f5bf5bf2225c2b65.zip
CMake-3c8e899102dc58efa5301240f5bf5bf2225c2b65.tar.gz
CMake-3c8e899102dc58efa5301240f5bf5bf2225c2b65.tar.bz2
ENH: add support for per config target LINK_FLAGS
Diffstat (limited to 'Source/cmLocalVisualStudio6Generator.cxx')
-rw-r--r--Source/cmLocalVisualStudio6Generator.cxx25
1 files changed, 22 insertions, 3 deletions
diff --git a/Source/cmLocalVisualStudio6Generator.cxx b/Source/cmLocalVisualStudio6Generator.cxx
index 6c36bea..ec5d7ea 100644
--- a/Source/cmLocalVisualStudio6Generator.cxx
+++ b/Source/cmLocalVisualStudio6Generator.cxx
@@ -1062,7 +1062,6 @@ void cmLocalVisualStudio6Generator
libMultiLineOptionsForDebug += targetLinkFlags;
libMultiLineOptionsForDebug += " \n";
}
-
// are there any custom rules on the target itself
// only if the target is a lib or exe
@@ -1185,18 +1184,38 @@ void cmLocalVisualStudio6Generator
std::string flagVar = baseFlagVar + "_RELEASE";
flagsRelease = this->Makefile->GetRequiredDefinition(flagVar.c_str());
flagsRelease += " -DCMAKE_INTDIR=\\\"Release\\\" ";
-
+ if(const char* targetLinkFlags = target.GetProperty("LINK_FLAGS_RELEASE"))
+ {
+ flagsRelease += targetLinkFlags;
+ flagsRelease += " ";
+ }
flagVar = baseFlagVar + "_MINSIZEREL";
flagsMinSize = this->Makefile->GetRequiredDefinition(flagVar.c_str());
flagsMinSize += " -DCMAKE_INTDIR=\\\"MinSizeRel\\\" ";
+ if(const char* targetLinkFlags = target.GetProperty("LINK_FLAGS_MINSIZEREL"))
+ {
+ flagsMinSize += targetLinkFlags;
+ flagsMinSize += " ";
+ }
flagVar = baseFlagVar + "_DEBUG";
flagsDebug = this->Makefile->GetRequiredDefinition(flagVar.c_str());
flagsDebug += " -DCMAKE_INTDIR=\\\"Debug\\\" ";
-
+ if(const char* targetLinkFlags = target.GetProperty("LINK_FLAGS_DEBUG"))
+ {
+ flagsDebug += targetLinkFlags;
+ flagsDebug += " ";
+ }
+
flagVar = baseFlagVar + "_RELWITHDEBINFO";
flagsDebugRel = this->Makefile->GetRequiredDefinition(flagVar.c_str());
flagsDebugRel += " -DCMAKE_INTDIR=\\\"RelWithDebInfo\\\" ";
+ if(const char* targetLinkFlags = target.GetProperty("LINK_FLAGS_RELWITHDEBINFO"))
+ {
+ flagsDebugRel += targetLinkFlags;
+ flagsDebugRel += " ";
+ }
+
}
// if unicode is not found, then add -D_MBCS