Centralize language flag addition for Makefiles
We create cmMakefileTargetGenerator::AddFeatureFlags to consolidate addition of language flags. Currently it just adds the flags from generic per-language flag variables (AddLanguageFlags).
This commit is contained in:
parent
d455eeb6d7
commit
57df2abca8
|
@ -231,9 +231,8 @@ void cmMakefileExecutableTargetGenerator::WriteExecutableRule(bool relink)
|
|||
(linkFlags, this->Makefile->GetDefinition(export_flag_var.c_str()));
|
||||
}
|
||||
|
||||
// Add language-specific flags.
|
||||
this->LocalGenerator
|
||||
->AddLanguageFlags(flags, linkLanguage, this->ConfigName);
|
||||
// Add language feature flags.
|
||||
this->AddFeatureFlags(flags, linkLanguage);
|
||||
|
||||
// Add target-specific linker flags.
|
||||
this->LocalGenerator->AppendFlags
|
||||
|
|
|
@ -671,9 +671,11 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules
|
|||
vars.TargetInstallNameDir = install_name_dir.c_str();
|
||||
}
|
||||
}
|
||||
|
||||
// Add language feature flags.
|
||||
std::string langFlags;
|
||||
this->LocalGenerator
|
||||
->AddLanguageFlags(langFlags, linkLanguage, this->ConfigName);
|
||||
this->AddFeatureFlags(langFlags, linkLanguage);
|
||||
|
||||
// remove any language flags that might not work with the
|
||||
// particular os
|
||||
if(forbiddenFlagVar)
|
||||
|
|
|
@ -291,10 +291,8 @@ void cmMakefileTargetGenerator::WriteTargetLanguageFlags()
|
|||
this->LocalGenerator->AppendDefines
|
||||
(defines, this->Target->GetProperty(defPropName.c_str()), lang);
|
||||
|
||||
// Add language-specific flags.
|
||||
this->LocalGenerator
|
||||
->AddLanguageFlags(flags, lang,
|
||||
this->LocalGenerator->ConfigurationName.c_str());
|
||||
// Add language feature flags.
|
||||
this->AddFeatureFlags(flags, lang);
|
||||
|
||||
// Fortran-specific flags computed for this target.
|
||||
if(*l == "Fortran")
|
||||
|
@ -1762,3 +1760,12 @@ void cmMakefileTargetGenerator::AddModuleDefinitionFlag(std::string& flags)
|
|||
this->ModuleDefinitionFile.c_str()));
|
||||
this->LocalGenerator->AppendFlags(flags, flag.c_str());
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
void cmMakefileTargetGenerator::AddFeatureFlags(
|
||||
std::string& flags, const char* lang
|
||||
)
|
||||
{
|
||||
// Add language-specific flags.
|
||||
this->LocalGenerator->AddLanguageFlags(flags, lang, this->ConfigName);
|
||||
}
|
||||
|
|
|
@ -220,6 +220,9 @@ protected:
|
|||
// Helper to add flag for windows .def file.
|
||||
void AddModuleDefinitionFlag(std::string& flags);
|
||||
|
||||
// Add language feature flags.
|
||||
void AddFeatureFlags(std::string& flags, const char* lang);
|
||||
|
||||
//==================================================================
|
||||
// Convenience routines that do nothing more than forward to
|
||||
// implementaitons
|
||||
|
|
Loading…
Reference in New Issue