summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/cmLocalVisualStudio6Generator.cxx21
-rw-r--r--Source/cmLocalVisualStudio7Generator.cxx14
2 files changed, 20 insertions, 15 deletions
diff --git a/Source/cmLocalVisualStudio6Generator.cxx b/Source/cmLocalVisualStudio6Generator.cxx
index cff119c..804a87c 100644
--- a/Source/cmLocalVisualStudio6Generator.cxx
+++ b/Source/cmLocalVisualStudio6Generator.cxx
@@ -432,15 +432,11 @@ void cmLocalVisualStudio6Generator::WriteGroup(const cmSourceGroup *sg, cmTarget
(*sf)->GetCustomCommand();
std::string compileFlags;
std::vector<std::string> depends;
- const char* cflags = (*sf)->GetProperty("COMPILE_FLAGS");
- if(cflags)
- {
- compileFlags = cflags;
- }
- if(target.GetProperty("COMPILE_FLAGS"))
+
+ // Add per-source file flags.
+ if(const char* cflags = (*sf)->GetProperty("COMPILE_FLAGS"))
{
- compileFlags += " ";
- compileFlags += target.GetProperty("COMPILE_FLAGS");
+ compileFlags += cflags;
}
const char* lang =
@@ -1246,7 +1242,14 @@ void cmLocalVisualStudio6Generator
{
flags += " /D \"_MBCS\"";
}
-
+
+ // Add per-target flags.
+ if(const char* targetFlags = target.GetProperty("COMPILE_FLAGS"))
+ {
+ flags += " ";
+ flags += targetFlags;
+ }
+
// The template files have CXX FLAGS in them, that need to be replaced.
// There are not separate CXX and C template files, so we use the same
// variable names. The previous code sets up flags* variables to contain
diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx
index aabe886..c668ad6 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -520,6 +520,13 @@ void cmLocalVisualStudio7Generator::WriteConfiguration(std::ostream& fout,
programDatabase += "\"";
}
+ // Add the target-specific flags.
+ if(const char* targetFlags = target.GetProperty("COMPILE_FLAGS"))
+ {
+ flags += " ";
+ flags += targetFlags;
+ }
+
// The intermediate directory name consists of a directory for the
// target and a subdirectory for the configuration name.
std::string intermediateDir = this->GetTargetDirectory(target);
@@ -1084,12 +1091,7 @@ void cmLocalVisualStudio7Generator::WriteGroup(const cmSourceGroup *sg, cmTarget
std::string compileFlags;
std::string additionalDeps;
- // Check for extra compiler flags.
- if(target.GetProperty("COMPILE_FLAGS"))
- {
- compileFlags += " ";
- compileFlags += target.GetProperty("COMPILE_FLAGS");
- }
+ // Add per-source flags.
const char* cflags = (*sf)->GetProperty("COMPILE_FLAGS");
if(cflags)
{