| 77 | } // anonymous namespace |
| 78 | |
| 79 | cmFastbuildNormalTargetGenerator::cmFastbuildNormalTargetGenerator( |
| 80 | cmGeneratorTarget* gt, std::string configParam) |
| 81 | : cmFastbuildTargetGenerator(gt, std::move(configParam)) |
| 82 | , RulePlaceholderExpander( |
| 83 | this->LocalCommonGenerator->CreateRulePlaceholderExpander()) |
| 84 | , ObjectOutDir(this->GetGlobalGenerator()->ConvertToFastbuildPath( |
| 85 | this->GeneratorTarget->GetObjectDirectory(Config))) |
| 86 | , Languages(GetLanguages()) |
| 87 | , CompileObjectCmakeRules(GetCompileObjectCommand()) |
| 88 | , CudaCompileMode(this->GetCudaCompileMode()) |
| 89 | { |
| 90 | |
| 91 | LogMessage(cmStrCat("objectOutDir: ", ObjectOutDir)); |
| 92 | this->OSXBundleGenerator = cm::make_unique<cmOSXBundleGenerator>(gt); |
| 93 | this->OSXBundleGenerator->SetMacContentFolders(&this->MacContentFolders); |
| 94 | |
| 95 | // Quotes to account for potential spaces. |
| 96 | RulePlaceholderExpander->SetTargetImpLib( |
| 97 | "\"" FASTBUILD_DOLLAR_TAG "TargetOutputImplib" FASTBUILD_DOLLAR_TAG "\""); |
| 98 | for (auto const& lang : Languages) { |
| 99 | TargetIncludesByLanguage[lang] = this->GetIncludes(lang, Config); |
| 100 | LogMessage(cmStrCat("targetIncludes for lang ", lang, " = ", |
| 101 | TargetIncludesByLanguage[lang])); |
| 102 | |
| 103 | for (auto const& arch : this->GetArches()) { |
| 104 | auto& flags = CompileFlagsByLangAndArch[std::make_pair(lang, arch)]; |
| 105 | this->LocalCommonGenerator->GetTargetCompileFlags( |
| 106 | this->GeneratorTarget, Config, lang, flags, arch); |
| 107 | LogMessage( |
| 108 | cmStrCat("Lang: ", lang, ", arch: ", arch, ", flags: ", flags)); |
| 109 | } |
| 110 | } |
| 111 | } |
| 112 | |
| 113 | std::string cmFastbuildNormalTargetGenerator::DetectCompilerFlags( |
| 114 | cmSourceFile const& srcFile, std::string const& arch) |
nothing calls this directly
no test coverage detected