浏览代码

Merge topic 'pch-header-not-generated'

7524501d89 PCH: Do not mark PCH-header as generated

Acked-by: Kitware Robot <[email protected]>
Merge-request: !5510
Brad King 5 年之前
父节点
当前提交
0c0e7525c4
共有 1 个文件被更改,包括 8 次插入6 次删除
  1. 8 6
      Source/cmLocalGenerator.cxx

+ 8 - 6
Source/cmLocalGenerator.cxx

@@ -2607,14 +2607,16 @@ void cmLocalGenerator::AddPchDependencies(cmGeneratorTarget* target)
           // Add pchHeader to source files, which will
           // be grouped as "Precompile Header File"
           auto pchHeader_sf = this->Makefile->GetOrCreateSource(
-            pchHeader, true, cmSourceFileLocationKind::Known);
+            pchHeader, false, cmSourceFileLocationKind::Known);
           std::string err;
           pchHeader_sf->ResolveFullPath(&err);
-
-          // The pch file is generated, but mark it as not generated
-          // so that a clean operation will not remove it from disk
-          pchHeader_sf->SetProperty("GENERATED", "0");
-
+          if (!err.empty()) {
+            std::ostringstream msg;
+            msg << "Unable to resolve full path of PCH-header '" << pchHeader
+                << "' assigned to target " << target->GetName()
+                << ", although its path is supposed to be known!";
+            this->IssueMessage(MessageType::FATAL_ERROR, msg.str());
+          }
           target->AddSource(pchHeader);
         }
       }