diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx index ec83b7ac5..f8c274a7d 100644 --- a/Source/cmGeneratorTarget.cxx +++ b/Source/cmGeneratorTarget.cxx @@ -314,7 +314,7 @@ std::vector cmGeneratorTarget::GetIncludeDirectories() } //---------------------------------------------------------------------------- -const char *cmGeneratorTarget::GetCompileDefinitions(const char *config) +std::string cmGeneratorTarget::GetCompileDefinitions(const char *config) { if (!config) { diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h index 4487c1136..8ea17d7e8 100644 --- a/Source/cmGeneratorTarget.h +++ b/Source/cmGeneratorTarget.h @@ -74,7 +74,7 @@ public: /** Get the include directories for this target. */ std::vector GetIncludeDirectories(); - const char *GetCompileDefinitions(const char *config = 0); + std::string GetCompileDefinitions(const char *config = 0); private: void ClassifySources(); diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx index a270cc9a8..2f4311f93 100644 --- a/Source/cmGlobalXCodeGenerator.cxx +++ b/Source/cmGlobalXCodeGenerator.cxx @@ -1648,10 +1648,11 @@ void cmGlobalXCodeGenerator::CreateBuildSettings(cmTarget& target, this->AppendDefines(ppDefs, exportMacro); } cmGeneratorTarget *gtgt = this->GetGeneratorTarget(&target); - this->AppendDefines(ppDefs, gtgt->GetCompileDefinitions()); + this->AppendDefines(ppDefs, gtgt->GetCompileDefinitions().c_str()); if(configName) { - this->AppendDefines(ppDefs, gtgt->GetCompileDefinitions(configName)); + this->AppendDefines(ppDefs, + gtgt->GetCompileDefinitions(configName).c_str()); } buildSettings->AddAttribute ("GCC_PREPROCESSOR_DEFINITIONS", ppDefs.CreateList()); diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx index 71c1647bd..11d9d9cb2 100644 --- a/Source/cmLocalVisualStudio7Generator.cxx +++ b/Source/cmLocalVisualStudio7Generator.cxx @@ -742,8 +742,8 @@ void cmLocalVisualStudio7Generator::WriteConfiguration(std::ostream& fout, targetOptions.ParseFinish(); cmGeneratorTarget* gt = this->GlobalGenerator->GetGeneratorTarget(&target); - targetOptions.AddDefines(gt->GetCompileDefinitions()); - targetOptions.AddDefines(gt->GetCompileDefinitions(configName)); + targetOptions.AddDefines(gt->GetCompileDefinitions().c_str()); + targetOptions.AddDefines(gt->GetCompileDefinitions(configName).c_str()); targetOptions.SetVerboseMakefile( this->Makefile->IsOn("CMAKE_VERBOSE_MAKEFILE")); diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx index 87312aeec..90718ab1d 100644 --- a/Source/cmVisualStudio10TargetGenerator.cxx +++ b/Source/cmVisualStudio10TargetGenerator.cxx @@ -1231,9 +1231,10 @@ bool cmVisualStudio10TargetGenerator::ComputeClOptions( clOptions.AddFlag("PrecompiledHeader", "NotUsing"); clOptions.Parse(flags.c_str()); clOptions.Parse(defineFlags.c_str()); - clOptions.AddDefines(this->GeneratorTarget->GetCompileDefinitions()); + clOptions.AddDefines( + this->GeneratorTarget->GetCompileDefinitions().c_str()); clOptions.AddDefines(this->GeneratorTarget->GetCompileDefinitions( - configName.c_str())); + configName.c_str()).c_str()); clOptions.SetVerboseMakefile( this->Makefile->IsOn("CMAKE_VERBOSE_MAKEFILE"));