Commit b8bb6ba6 authored by Vitaly Stakhovsky's avatar Vitaly Stakhovsky Committed by Brad King
Browse files

cmGeneratorTarget::GetExportMacro: return const std::string*

parent f77a9576
......@@ -1730,7 +1730,7 @@ bool cmGeneratorTarget::HaveWellDefinedOutputFiles() const
this->GetType() == cmStateEnums::EXECUTABLE;
}
const char* cmGeneratorTarget::GetExportMacro() const
const std::string* cmGeneratorTarget::GetExportMacro() const
{
// Define the symbol for targets that export symbols.
if (this->GetType() == cmStateEnums::SHARED_LIBRARY ||
......@@ -1743,7 +1743,7 @@ const char* cmGeneratorTarget::GetExportMacro() const
in += "_EXPORTS";
this->ExportMacro = cmSystemTools::MakeCidentifier(in);
}
return this->ExportMacro.c_str();
return &this->ExportMacro;
}
return nullptr;
}
......
......@@ -283,7 +283,7 @@ public:
/** Get the macro to define when building sources in this target.
If no macro should be defined null is returned. */
const char* GetExportMacro() const;
const std::string* GetExportMacro() const;
/** Get the soname of the target. Allowed only for a shared library. */
std::string GetSOName(const std::string& config) const;
......
......@@ -1814,9 +1814,9 @@ void cmGlobalXCodeGenerator::CreateBuildSettings(cmGeneratorTarget* gtgt,
BuildObjectListOrString ppDefs(this, true);
this->AppendDefines(
ppDefs, "CMAKE_INTDIR=\"$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)\"");
if (const char* exportMacro = gtgt->GetExportMacro()) {
if (const std::string* exportMacro = gtgt->GetExportMacro()) {
// Add the export symbol definition for shared library objects.
this->AppendDefines(ppDefs, exportMacro);
this->AppendDefines(ppDefs, exportMacro->c_str());
}
std::vector<std::string> targetDefines;
if (!langForPreprocessor.empty()) {
......
......@@ -1253,8 +1253,8 @@ void cmLocalGenerator::GetTargetDefines(cmGeneratorTarget const* target,
std::set<std::string>& defines) const
{
// Add the export symbol definition for shared library objects.
if (const char* exportMacro = target->GetExportMacro()) {
this->AppendDefines(defines, exportMacro);
if (const std::string* exportMacro = target->GetExportMacro()) {
this->AppendDefines(defines, *exportMacro);
}
// Add preprocessor definitions for this target and configuration.
......
......@@ -735,8 +735,8 @@ void cmLocalVisualStudio7Generator::WriteConfiguration(
targetOptions.AddDefine(configDefine);
// Add the export symbol definition for shared library objects.
if (const char* exportMacro = target->GetExportMacro()) {
targetOptions.AddDefine(exportMacro);
if (const std::string* exportMacro = target->GetExportMacro()) {
targetOptions.AddDefine(*exportMacro);
}
// The intermediate directory name consists of a directory for the
......
......@@ -2580,8 +2580,9 @@ bool cmVisualStudio10TargetGenerator::ComputeClOptions(
configDefine += configName;
configDefine += "\"";
clOptions.AddDefine(configDefine);
if (const char* exportMacro = this->GeneratorTarget->GetExportMacro()) {
clOptions.AddDefine(exportMacro);
if (const std::string* exportMacro =
this->GeneratorTarget->GetExportMacro()) {
clOptions.AddDefine(*exportMacro);
}
if (this->MSTools) {
......@@ -2877,8 +2878,9 @@ bool cmVisualStudio10TargetGenerator::ComputeCudaOptions(
configDefine += configName;
configDefine += "\"";
cudaOptions.AddDefine(configDefine);
if (const char* exportMacro = this->GeneratorTarget->GetExportMacro()) {
cudaOptions.AddDefine(exportMacro);
if (const std::string* exportMacro =
this->GeneratorTarget->GetExportMacro()) {
cudaOptions.AddDefine(*exportMacro);
}
// Get includes for this target
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment