diff options
author | Brad King <brad.king@kitware.com> | 2015-09-02 20:24:52 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2015-09-03 10:52:36 (GMT) |
commit | cf74fc24d4e2b2910921323ea1862bc234919585 (patch) | |
tree | 7bc26483496ac25a29e21bc60d2de5538bb8910f /Source | |
parent | e7777cc5635e95d3b36aaf4e9a528c92534aca30 (diff) | |
download | CMake-cf74fc24d4e2b2910921323ea1862bc234919585.zip CMake-cf74fc24d4e2b2910921323ea1862bc234919585.tar.gz CMake-cf74fc24d4e2b2910921323ea1862bc234919585.tar.bz2 |
cmTarget: Fix buildsystem property empty value set and append operations
Refactoring in commit 1f54bc1c (cmTarget: Split storage of include
directories from genexes, 2015-08-04), commit 772ecef4 (cmTarget: Split
storage of compile options from genexes, 2015-08-04), commit 44e071ae
(cmTarget: Split storage of compile features from genexes, 2015-08-04),
and commit 197f4de1 (cmTarget: Split storage of compile definitions from
genexes, 2015-08-04) failed to account for value==NULL in SetProperty
and AppendProperty methods.
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmTarget.cxx | 72 |
1 files changed, 48 insertions, 24 deletions
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 590654d..396715d 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -1601,33 +1601,45 @@ void cmTarget::SetProperty(const std::string& prop, const char* value) { this->Internal->IncludeDirectoriesEntries.clear(); this->Internal->IncludeDirectoriesBacktraces.clear(); - this->Internal->IncludeDirectoriesEntries.push_back(value); - cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); - this->Internal->IncludeDirectoriesBacktraces.push_back(lfbt); + if (value) + { + this->Internal->IncludeDirectoriesEntries.push_back(value); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); + this->Internal->IncludeDirectoriesBacktraces.push_back(lfbt); + } } else if(prop == "COMPILE_OPTIONS") { this->Internal->CompileOptionsEntries.clear(); this->Internal->CompileOptionsBacktraces.clear(); - this->Internal->CompileOptionsEntries.push_back(value); - cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); - this->Internal->CompileOptionsBacktraces.push_back(lfbt); + if (value) + { + this->Internal->CompileOptionsEntries.push_back(value); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); + this->Internal->CompileOptionsBacktraces.push_back(lfbt); + } } else if(prop == "COMPILE_FEATURES") { this->Internal->CompileFeaturesEntries.clear(); this->Internal->CompileFeaturesBacktraces.clear(); - this->Internal->CompileFeaturesEntries.push_back(value); - cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); - this->Internal->CompileFeaturesBacktraces.push_back(lfbt); + if (value) + { + this->Internal->CompileFeaturesEntries.push_back(value); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); + this->Internal->CompileFeaturesBacktraces.push_back(lfbt); + } } else if(prop == "COMPILE_DEFINITIONS") { this->Internal->CompileDefinitionsEntries.clear(); this->Internal->CompileDefinitionsBacktraces.clear(); - this->Internal->CompileDefinitionsEntries.push_back(value); - cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); - this->Internal->CompileDefinitionsBacktraces.push_back(lfbt); + if (value) + { + this->Internal->CompileDefinitionsEntries.push_back(value); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); + this->Internal->CompileDefinitionsBacktraces.push_back(lfbt); + } } else if(prop == "EXPORT_NAME" && this->IsImported()) { @@ -1693,27 +1705,39 @@ void cmTarget::AppendProperty(const std::string& prop, const char* value, } else if(prop == "INCLUDE_DIRECTORIES") { - this->Internal->IncludeDirectoriesEntries.push_back(value); - cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); - this->Internal->IncludeDirectoriesBacktraces.push_back(lfbt); + if (value) + { + this->Internal->IncludeDirectoriesEntries.push_back(value); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); + this->Internal->IncludeDirectoriesBacktraces.push_back(lfbt); + } } else if(prop == "COMPILE_OPTIONS") { - this->Internal->CompileOptionsEntries.push_back(value); - cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); - this->Internal->CompileOptionsBacktraces.push_back(lfbt); + if (value) + { + this->Internal->CompileOptionsEntries.push_back(value); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); + this->Internal->CompileOptionsBacktraces.push_back(lfbt); + } } else if(prop == "COMPILE_FEATURES") { - this->Internal->CompileFeaturesEntries.push_back(value); - cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); - this->Internal->CompileFeaturesBacktraces.push_back(lfbt); + if (value) + { + this->Internal->CompileFeaturesEntries.push_back(value); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); + this->Internal->CompileFeaturesBacktraces.push_back(lfbt); + } } else if(prop == "COMPILE_DEFINITIONS") { - this->Internal->CompileDefinitionsEntries.push_back(value); - cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); - this->Internal->CompileDefinitionsBacktraces.push_back(lfbt); + if (value) + { + this->Internal->CompileDefinitionsEntries.push_back(value); + cmListFileBacktrace lfbt = this->Makefile->GetBacktrace(); + this->Internal->CompileDefinitionsBacktraces.push_back(lfbt); + } } else if(prop == "EXPORT_NAME" && this->IsImported()) { |