diff options
author | Brad King <brad.king@kitware.com> | 2009-03-23 18:48:09 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2009-03-23 18:48:09 (GMT) |
commit | 4085454658d9af9c2cfb58b67ff2434692887a30 (patch) | |
tree | d164217623a7d33569a807d9123565262e077f3a /Source | |
parent | 10a91d8467d10fcf9cf9eaa2a05e9ea6fcc87614 (diff) | |
download | CMake-4085454658d9af9c2cfb58b67ff2434692887a30.zip CMake-4085454658d9af9c2cfb58b67ff2434692887a30.tar.gz CMake-4085454658d9af9c2cfb58b67ff2434692887a30.tar.bz2 |
ENH: Support preprocessor def values in VS6
The add_definitions() command and COMPILE_DEFINITIONS dir/tgt/src
properties support preprocessor definitions with values. Previously
values were not supported in the VS6 generator even though the native
tool supports them. It is only values with spaces that VS6 does not
support. This enables support and instead complains only for values
with spaces. See issue #8779.
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmLocalVisualStudio6Generator.cxx | 6 | ||||
-rw-r--r-- | Source/cmMakefile.cxx | 6 | ||||
-rw-r--r-- | Source/cmSourceFile.cxx | 2 | ||||
-rw-r--r-- | Source/cmTarget.cxx | 2 |
4 files changed, 8 insertions, 8 deletions
diff --git a/Source/cmLocalVisualStudio6Generator.cxx b/Source/cmLocalVisualStudio6Generator.cxx index 3493719..8ecfa0d 100644 --- a/Source/cmLocalVisualStudio6Generator.cxx +++ b/Source/cmLocalVisualStudio6Generator.cxx @@ -1712,11 +1712,11 @@ cmLocalVisualStudio6Generator } // Now do the VS6-specific check. - if(define.find_first_of("=") != define.npos) + if(define.find_first_of(" ") != define.npos) { cmOStringStream e; - e << "WARNING: The VS6 IDE does not support preprocessor definitions " - << "with values.\n" + e << "WARNING: The VS6 IDE does not support preprocessor definition " + << "values with spaces.\n" << "CMake is dropping a preprocessor definition: " << define << "\n" << "Consider defining the macro in a (configured) header file.\n"; cmSystemTools::Message(e.str().c_str()); diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 69d58ba..a0b536b 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -1216,10 +1216,10 @@ bool cmMakefile::ParseDefineFlag(std::string const& def, bool remove) return false; } - // VS6 IDE does not support definitions with values. + // VS6 IDE does not support definition values with spaces. if((strcmp(this->LocalGenerator->GetGlobalGenerator()->GetName(), "Visual Studio 6") == 0) && - (def.find("=") != def.npos)) + (def.find(" ") != def.npos)) { return false; } @@ -3475,7 +3475,7 @@ void cmMakefile::DefineProperties(cmake *cm) "in the directory's parent.\n" "CMake will automatically drop some definitions that " "are not supported by the native build tool. " - "The VS6 IDE does not support definitions with values " + "The VS6 IDE does not support definition values with spaces " "(but NMake does).\n" "Dislaimer: Most native build tools have poor support for escaping " "certain values. CMake has work-arounds for many cases but some " diff --git a/Source/cmSourceFile.cxx b/Source/cmSourceFile.cxx index 8603d98..cb7777c 100644 --- a/Source/cmSourceFile.cxx +++ b/Source/cmSourceFile.cxx @@ -405,7 +405,7 @@ void cmSourceFile::DefineProperties(cmake *cm) "(ex. \"COMPILE_DEFINITIONS_DEBUG\").\n" "CMake will automatically drop some definitions that " "are not supported by the native build tool. " - "The VS6 IDE does not support definitions with values " + "The VS6 IDE does not support definition values with spaces " "(but NMake does). Xcode does not support per-configuration " "definitions on source files.\n" "Dislaimer: Most native build tools have poor support for escaping " diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 6b6635d..a640b0d 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -108,7 +108,7 @@ void cmTarget::DefineProperties(cmake *cm) "(ex. \"COMPILE_DEFINITIONS_DEBUG\").\n" "CMake will automatically drop some definitions that " "are not supported by the native build tool. " - "The VS6 IDE does not support definitions with values " + "The VS6 IDE does not support definition values with spaces " "(but NMake does).\n" "Dislaimer: Most native build tools have poor support for escaping " "certain values. CMake has work-arounds for many cases but some " |