mirror of
https://github.com/Kitware/CMake.git
synced 2025-12-31 19:00:54 -06:00
cmGeneratorTarget::GetExportMacro: return const std::string*
This commit is contained in:
committed by
Brad King
parent
f77a9576e5
commit
b8bb6ba653
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user