1
0
Эх сурвалжийг харах

Merge topic 'vs-16.4-custom-command-inputs' into release-3.16

58b0674687 VS: Tell VS 16.4 not to verify SYMBOLIC custom command inputs

Acked-by: Kitware Robot <[email protected]>
Merge-request: !4297
Brad King 5 жил өмнө
parent
commit
f972b929d6

+ 7 - 1
Source/cmVisualStudio10TargetGenerator.cxx

@@ -1430,6 +1430,7 @@ void cmVisualStudio10TargetGenerator::WriteCustomRule(
     std::string comment = lg->ConstructComment(ccg);
     std::string comment = lg->ConstructComment(ccg);
     comment = cmVS10EscapeComment(comment);
     comment = cmVS10EscapeComment(comment);
     std::string script = lg->ConstructScript(ccg);
     std::string script = lg->ConstructScript(ccg);
+    bool symbolic = false;
     // input files for custom command
     // input files for custom command
     std::stringstream additional_inputs;
     std::stringstream additional_inputs;
     {
     {
@@ -1456,6 +1457,12 @@ void cmVisualStudio10TargetGenerator::WriteCustomRule(
           ConvertToWindowsSlash(dep);
           ConvertToWindowsSlash(dep);
           additional_inputs << sep << dep;
           additional_inputs << sep << dep;
           sep = ";";
           sep = ";";
+          if (!symbolic) {
+            if (cmSourceFile* sf = this->Makefile->GetSource(
+                  dep, cmSourceFileLocationKind::Known)) {
+              symbolic = sf->GetPropertyAsBool("SYMBOLIC");
+            }
+          }
         }
         }
       }
       }
       if (this->ProjectType != csproj) {
       if (this->ProjectType != csproj) {
@@ -1464,7 +1471,6 @@ void cmVisualStudio10TargetGenerator::WriteCustomRule(
     }
     }
     // output files for custom command
     // output files for custom command
     std::stringstream outputs;
     std::stringstream outputs;
-    bool symbolic = false;
     {
     {
       const char* sep = "";
       const char* sep = "";
       for (std::string const& o : ccg.GetOutputs()) {
       for (std::string const& o : ccg.GetOutputs()) {