cmNinjaTargetGenerator: Factor out AddIncludeFlags helper

Factor an AddIncludeFlags method out of ComputeFlagsForObject just like
cmMakefileTargetGenerator has already.
This commit is contained in:
Brad King 2015-07-09 09:58:13 -04:00
parent 6a56740e27
commit 73bfad72d3
2 changed files with 25 additions and 16 deletions

View File

@ -135,23 +135,8 @@ cmNinjaTargetGenerator::ComputeFlagsForObject(cmSourceFile const* source,
this->LocalGenerator->AddVisibilityPresetFlags(languageFlags, this->Target,
language);
std::vector<std::string> includes;
this->LocalGenerator->GetIncludeDirectories(includes,
this->GeneratorTarget,
language,
this->GetConfigName());
// Add include directory flags.
std::string includeFlags =
this->LocalGenerator->GetIncludeFlags(includes, this->GeneratorTarget,
language,
language == "RC" ? true : false, // full include paths for RC
// needed by cmcldeps
false,
this->GetConfigName());
if (this->GetGlobalGenerator()->IsGCCOnWindows())
cmSystemTools::ReplaceString(includeFlags, "\\", "/");
this->LocalGenerator->AppendFlags(languageFlags, includeFlags);
this->AddIncludeFlags(languageFlags, language);
// Append old-style preprocessor definition flags.
this->LocalGenerator->AppendFlags(languageFlags,
@ -180,6 +165,28 @@ cmNinjaTargetGenerator::ComputeFlagsForObject(cmSourceFile const* source,
return flags;
}
void cmNinjaTargetGenerator::AddIncludeFlags(std::string& languageFlags,
std::string const& language)
{
std::vector<std::string> includes;
this->LocalGenerator->GetIncludeDirectories(includes,
this->GeneratorTarget,
language,
this->GetConfigName());
// Add include directory flags.
std::string includeFlags =
this->LocalGenerator->GetIncludeFlags(includes, this->GeneratorTarget,
language,
language == "RC" ? true : false, // full include paths for RC
// needed by cmcldeps
false,
this->GetConfigName());
if (this->GetGlobalGenerator()->IsGCCOnWindows())
cmSystemTools::ReplaceString(includeFlags, "\\", "/");
this->LocalGenerator->AppendFlags(languageFlags, includeFlags);
}
bool cmNinjaTargetGenerator::NeedDepTypeMSVC(const std::string& lang) const
{
if (lang == "C" || lang == "CXX")

View File

@ -81,6 +81,8 @@ protected:
std::string ComputeFlagsForObject(cmSourceFile const* source,
const std::string& language);
void AddIncludeFlags(std::string& flags, std::string const& lang);
std::string ComputeDefines(cmSourceFile const* source,
const std::string& language);