cmLocalGenerator: Add GetTargetDefines to get all defines for a target
This commit is contained in:
parent
853b1bb4ba
commit
f62ed322dc
|
@ -246,19 +246,11 @@ std::string cmCommonTargetGenerator::GetDefines(const std::string& l)
|
|||
ByLanguageMap::iterator i = this->DefinesByLanguage.find(l);
|
||||
if (i == this->DefinesByLanguage.end()) {
|
||||
std::set<std::string> defines;
|
||||
const char* lang = l.c_str();
|
||||
// Add the export symbol definition for shared library objects.
|
||||
if (const char* exportMacro = this->GeneratorTarget->GetExportMacro()) {
|
||||
this->LocalGenerator->AppendDefines(defines, exportMacro);
|
||||
}
|
||||
|
||||
// Add preprocessor definitions for this target and configuration.
|
||||
this->LocalGenerator->AddCompileDefinitions(
|
||||
defines, this->GeneratorTarget, this->LocalGenerator->GetConfigName(),
|
||||
l);
|
||||
this->LocalGenerator->GetTargetDefines(this->GeneratorTarget,
|
||||
this->ConfigName, l, defines);
|
||||
|
||||
std::string definesString;
|
||||
this->LocalGenerator->JoinDefines(defines, definesString, lang);
|
||||
this->LocalGenerator->JoinDefines(defines, definesString, l);
|
||||
|
||||
ByLanguageMap::value_type entry(l, definesString);
|
||||
i = this->DefinesByLanguage.insert(entry).first;
|
||||
|
|
|
@ -1329,6 +1329,20 @@ std::string cmLocalGenerator::GetFrameworkFlags(std::string const& l,
|
|||
return ::GetFrameworkFlags(l, config, target);
|
||||
}
|
||||
|
||||
void cmLocalGenerator::GetTargetDefines(cmGeneratorTarget const* target,
|
||||
std::string const& config,
|
||||
std::string const& lang,
|
||||
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);
|
||||
}
|
||||
|
||||
// Add preprocessor definitions for this target and configuration.
|
||||
this->AddCompileDefinitions(defines, target, config, lang.c_str());
|
||||
}
|
||||
|
||||
std::string cmLocalGenerator::ConvertToLinkReference(std::string const& lib,
|
||||
OutputFormat format)
|
||||
{
|
||||
|
|
|
@ -314,6 +314,9 @@ public:
|
|||
std::string& flags, std::string& linkFlags,
|
||||
std::string& frameworkPath, std::string& linkPath,
|
||||
cmGeneratorTarget* target, bool useWatcomQuote);
|
||||
void GetTargetDefines(cmGeneratorTarget const* target,
|
||||
std::string const& config, std::string const& lang,
|
||||
std::set<std::string>& defines) const;
|
||||
|
||||
std::string GetFrameworkFlags(std::string const& l,
|
||||
std::string const& config,
|
||||
|
|
Loading…
Reference in New Issue