diff options
author | Brad King <brad.king@kitware.com> | 2022-02-04 13:19:13 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2022-02-04 13:19:19 (GMT) |
commit | 1198a23d5df8caa623330182127eb1f6c7f5f5dc (patch) | |
tree | e685e6459dfa459fb17b7d0f3d061a2a7344161b | |
parent | 28e1ef6761b23063ddc4df7deb7449b39f86ce6b (diff) | |
parent | dd1e2cc80c1450cc6fcb35d114f4cf999e4c0315 (diff) | |
download | CMake-1198a23d5df8caa623330182127eb1f6c7f5f5dc.zip CMake-1198a23d5df8caa623330182127eb1f6c7f5f5dc.tar.gz CMake-1198a23d5df8caa623330182127eb1f6c7f5f5dc.tar.bz2 |
Merge topic 'vs-simplify-pch'
dd1e2cc80c VS: Simplify generation of per-source PCH settings
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6950
-rw-r--r-- | Source/cmVisualStudio10TargetGenerator.cxx | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx index be46825..7b197fa 100644 --- a/Source/cmVisualStudio10TargetGenerator.cxx +++ b/Source/cmVisualStudio10TargetGenerator.cxx @@ -2736,11 +2736,15 @@ void cmVisualStudio10TargetGenerator::OutputSourceSpecificFlags( if (needsPCHFlags) { // Add precompile headers compile options. - std::string expandedOptions; - std::string pchOptions; if (makePCH) { - pchOptions = - this->GeneratorTarget->GetPchCreateCompileOptions(config, lang); + clOptions.AddFlag("PrecompiledHeader", "Create"); + std::string pchHeader = + this->GeneratorTarget->GetPchHeader(config, lang); + clOptions.AddFlag("PrecompiledHeaderFile", pchHeader); + std::string pchFile = + this->GeneratorTarget->GetPchFile(config, lang); + clOptions.AddFlag("PrecompiledHeaderOutputFile", pchFile); + clOptions.AddFlag("ForcedIncludeFiles", pchHeader); } else if (useNoPCH) { clOptions.AddFlag("PrecompiledHeader", "NotUsing"); } else if (useSharedPCH) { @@ -2748,12 +2752,15 @@ void cmVisualStudio10TargetGenerator::OutputSourceSpecificFlags( this->GeneratorTarget->GetPchHeader(config, lang); clOptions.AddFlag("ForcedIncludeFiles", pchHeader); } else if (useDifferentLangPCH) { - pchOptions = - this->GeneratorTarget->GetPchUseCompileOptions(config, lang); + clOptions.AddFlag("PrecompiledHeader", "Use"); + std::string pchHeader = + this->GeneratorTarget->GetPchHeader(config, lang); + clOptions.AddFlag("PrecompiledHeaderFile", pchHeader); + std::string pchFile = + this->GeneratorTarget->GetPchFile(config, lang); + clOptions.AddFlag("PrecompiledHeaderOutputFile", pchFile); + clOptions.AddFlag("ForcedIncludeFiles", pchHeader); } - this->LocalGenerator->AppendCompileOptions(expandedOptions, - pchOptions); - clOptions.Parse(expandedOptions); } if (!options.empty()) { |