diff options
-rw-r--r-- | Source/cmLocalVisualStudio6Generator.cxx | 21 | ||||
-rw-r--r-- | Source/cmLocalVisualStudio7Generator.cxx | 14 |
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) { |