mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-10-11 23:43:58 +03:00
cmNinjaTargetGenerator: Factor out AddIncludeFlags helper
Factor an AddIncludeFlags method out of ComputeFlagsForObject just like cmMakefileTargetGenerator has already.
This commit is contained in:
1 parent
6a56740e27
commit
73bfad72d3
2 files changed
+25
-16
No files matched your search
@@ -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")
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in new issue
Block a user