summaryrefslogtreecommitdiffstats
path: root/Source/cmNinjaTargetGenerator.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmNinjaTargetGenerator.cxx')
-rw-r--r--Source/cmNinjaTargetGenerator.cxx29
1 files changed, 11 insertions, 18 deletions
diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx
index 0eba0b3..b018005 100644
--- a/Source/cmNinjaTargetGenerator.cxx
+++ b/Source/cmNinjaTargetGenerator.cxx
@@ -92,7 +92,7 @@ std::string cmNinjaTargetGenerator::LanguageCompilerRule(
const std::string& lang) const
{
return lang + "_COMPILER__" +
- cmGlobalNinjaGenerator::EncodeRuleName(this->Target->GetName());
+ cmGlobalNinjaGenerator::EncodeRuleName(this->GeneratorTarget->GetName());
}
std::string
@@ -148,17 +148,9 @@ void cmNinjaTargetGenerator::AddIncludeFlags(std::string& languageFlags,
bool cmNinjaTargetGenerator::NeedDepTypeMSVC(const std::string& lang) const
{
- if (lang == "C" || lang == "CXX")
- {
- cmMakefile* mf = this->GetMakefile();
- return (
- strcmp(mf->GetSafeDefinition("CMAKE_C_COMPILER_ID"), "MSVC") == 0 ||
- strcmp(mf->GetSafeDefinition("CMAKE_CXX_COMPILER_ID"), "MSVC") == 0 ||
- strcmp(mf->GetSafeDefinition("CMAKE_C_SIMULATE_ID"), "MSVC") == 0 ||
- strcmp(mf->GetSafeDefinition("CMAKE_CXX_SIMULATE_ID"), "MSVC") == 0
- );
- }
- return false;
+ return strcmp(
+ this->GetMakefile()->GetSafeDefinition("CMAKE_NINJA_DEPTYPE_" + lang),
+ "msvc") == 0;
}
// TODO: Refactor with
@@ -218,7 +210,8 @@ cmNinjaDeps cmNinjaTargetGenerator::ComputeLinkDeps() const
}
// Add user-specified dependencies.
- if (const char* linkDepends = this->Target->GetProperty("LINK_DEPENDS"))
+ if (const char* linkDepends =
+ this->GeneratorTarget->GetProperty("LINK_DEPENDS"))
{
std::vector<std::string> linkDeps;
cmSystemTools::ExpandListArgument(linkDepends, linkDeps);
@@ -271,7 +264,7 @@ cmNinjaTargetGenerator
std::string cmNinjaTargetGenerator::GetTargetName() const
{
- return this->Target->GetName();
+ return this->GeneratorTarget->GetName();
}
@@ -334,7 +327,7 @@ cmNinjaTargetGenerator
{
cmLocalGenerator::RuleVariables vars;
vars.RuleLauncher = "RULE_LAUNCH_COMPILE";
- vars.CMTarget = this->GetTarget();
+ vars.CMTarget = this->GetGeneratorTarget();
vars.Language = lang.c_str();
vars.Source = "$in";
vars.Object = "$out";
@@ -358,7 +351,7 @@ cmNinjaTargetGenerator
depfile = "";
flags += " /showIncludes";
}
- else if (lang == "RC" && this->NeedDepTypeMSVC("C"))
+ else if (mf->IsOn("CMAKE_NINJA_CMCLDEPS_"+lang))
{
// For the MS resource compiler we need cmcldeps, but skip dependencies
// for source-file try_compile cases because they are always fresh.
@@ -410,7 +403,7 @@ cmNinjaTargetGenerator
if (!compileCmds.empty() && (lang == "C" || lang == "CXX"))
{
std::string const iwyu_prop = lang + "_INCLUDE_WHAT_YOU_USE";
- const char *iwyu = this->Target->GetProperty(iwyu_prop);
+ const char *iwyu = this->GeneratorTarget->GetProperty(iwyu_prop);
if (iwyu && *iwyu)
{
std::string run_iwyu =
@@ -427,7 +420,7 @@ cmNinjaTargetGenerator
if (!compileCmds.empty() && (lang == "C" || lang == "CXX"))
{
std::string const clauncher_prop = lang + "_COMPILER_LAUNCHER";
- const char *clauncher = this->Target->GetProperty(clauncher_prop);
+ const char *clauncher = this->GeneratorTarget->GetProperty(clauncher_prop);
if (clauncher && *clauncher)
{
std::vector<std::string> launcher_cmd;