[Cmake-commits] CMake branch, next, updated. v3.8.0-729-g8e0aff8

Kitware Robot kwrobot at kitware.com
Tue Apr 11 16:25:02 EDT 2017


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  8e0aff8a2f7774cb3f890e9294dea94ee64c98fd (commit)
       via  f18cce207dde6ab41f69ab13af10ec743ba2a077 (commit)
       via  a2e91af99ddc3e3c38c68be758d05300244bf22b (commit)
       via  a77158b25f95c065af73a1578db88e537ef72c72 (commit)
       via  8c346bbc6ec3321c8ac99a5495cf4d842c71e260 (commit)
       via  5f4e26dfc8c4ae26e9226236a05d20b826100db9 (commit)
       via  5b29fd6d4df4eea8ac04a3f6287f721e28b6b5b4 (commit)
       via  b1eb493c11f38f651c2a8f0489918f3a55feeb99 (commit)
      from  61706c2fcde182f6e13c001ee76f7762583c1fb6 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8e0aff8a2f7774cb3f890e9294dea94ee64c98fd
commit 8e0aff8a2f7774cb3f890e9294dea94ee64c98fd
Merge: f18cce2 a2e91af
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Apr 11 20:24:10 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Tue Apr 11 16:24:12 2017 -0400

    Stage topic 'vs-refactor-source-loop'
    
    Topic-id: 23599
    Topic-url: https://gitlab.kitware.com/cmake/cmake/merge_requests/689


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f18cce207dde6ab41f69ab13af10ec743ba2a077
commit f18cce207dde6ab41f69ab13af10ec743ba2a077
Merge: 61706c2 8c346bb
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Apr 11 20:24:01 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Tue Apr 11 16:24:04 2017 -0400

    Stage topic 'xcode-object-arch-dir'
    
    Topic-id: 23596
    Topic-url: https://gitlab.kitware.com/cmake/cmake/merge_requests/688


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a2e91af99ddc3e3c38c68be758d05300244bf22b
commit a2e91af99ddc3e3c38c68be758d05300244bf22b
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Apr 7 16:22:02 2017 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Apr 11 13:36:40 2017 -0400

    cmGeneratorTarget: Drop unused GetIDLSources method

diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index 6779641..74d863d 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -547,12 +547,6 @@ void cmGeneratorTarget::GetModuleDefinitionSources(
   IMPLEMENT_VISIT(SourceKindModuleDefinition);
 }
 
-void cmGeneratorTarget::GetIDLSources(std::vector<cmSourceFile const*>& data,
-                                      const std::string& config) const
-{
-  IMPLEMENT_VISIT(SourceKindIDL);
-}
-
 void cmGeneratorTarget::GetHeaderSources(
   std::vector<cmSourceFile const*>& data, const std::string& config) const
 {
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index 00df14b..3b9819d 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -118,8 +118,6 @@ public:
                                   const std::string& config) const;
   void GetResxSources(std::vector<cmSourceFile const*>&,
                       const std::string& config) const;
-  void GetIDLSources(std::vector<cmSourceFile const*>&,
-                     const std::string& config) const;
   void GetExternalObjects(std::vector<cmSourceFile const*>&,
                           const std::string& config) const;
   void GetHeaderSources(std::vector<cmSourceFile const*>&,

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a77158b25f95c065af73a1578db88e537ef72c72
commit a77158b25f95c065af73a1578db88e537ef72c72
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Apr 7 16:17:44 2017 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Apr 11 13:36:31 2017 -0400

    VS: Refactor loop over classified sources
    
    Loop over all sources at once instead of looking up and looping
    over each kind of source separately.

diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index 419989a..406980b 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -1727,15 +1727,6 @@ void cmVisualStudio10TargetGenerator::WriteSource(std::string const& tool,
   this->Tools[tool].push_back(toolSource);
 }
 
-void cmVisualStudio10TargetGenerator::WriteSources(
-  std::string const& tool, std::vector<cmSourceFile const*> const& sources)
-{
-  for (std::vector<cmSourceFile const*>::const_iterator si = sources.begin();
-       si != sources.end(); ++si) {
-    this->WriteSource(tool, *si);
-  }
-}
-
 void cmVisualStudio10TargetGenerator::WriteAllSources()
 {
   if (this->GeneratorTarget->GetType() > cmStateEnums::UTILITY) {
@@ -1743,90 +1734,96 @@ void cmVisualStudio10TargetGenerator::WriteAllSources()
   }
   this->WriteString("<ItemGroup>\n", 1);
 
-  std::vector<cmSourceFile const*> headerSources;
-  this->GeneratorTarget->GetHeaderSources(headerSources, "");
-  for (std::vector<cmSourceFile const*>::const_iterator si =
-         headerSources.begin();
-       si != headerSources.end(); ++si) {
-    this->WriteHeaderSource(*si);
-  }
-  std::vector<cmSourceFile const*> idlSources;
-  this->GeneratorTarget->GetIDLSources(idlSources, "");
-  this->WriteSources("Midl", idlSources);
+  cmGeneratorTarget::KindedSources const& sources =
+    this->GeneratorTarget->GetKindedSources("");
 
-  std::vector<cmSourceFile const*> objectSources;
-  this->GeneratorTarget->GetObjectSources(objectSources, "");
-  for (std::vector<cmSourceFile const*>::const_iterator si =
-         objectSources.begin();
-       si != objectSources.end(); ++si) {
-    const std::string& lang = (*si)->GetLanguage();
+  for (std::vector<cmGeneratorTarget::SourceAndKind>::const_iterator si =
+         sources.Sources.begin();
+       si != sources.Sources.end(); ++si) {
     std::string tool;
-    if (lang == "C" || lang == "CXX") {
-      tool = "ClCompile";
-    } else if (lang == "ASM_MASM" && this->GlobalGenerator->IsMasmEnabled()) {
-      tool = "MASM";
-    } else if (lang == "ASM_NASM" && this->GlobalGenerator->IsNasmEnabled()) {
-      tool = "NASM";
-    } else if (lang == "RC") {
-      tool = "ResourceCompile";
-    } else if (lang == "CSharp") {
-      tool = "Compile";
-    } else if (lang == "CUDA" && this->GlobalGenerator->IsCudaEnabled()) {
-      tool = "CudaCompile";
+    switch (si->Kind) {
+      case cmGeneratorTarget::SourceKindAppManifest:
+        tool = "AppxManifest";
+        break;
+      case cmGeneratorTarget::SourceKindCertificate:
+        tool = "None";
+        break;
+      case cmGeneratorTarget::SourceKindCustomCommand:
+        // Handled elsewhere.
+        break;
+      case cmGeneratorTarget::SourceKindExternalObject:
+        tool = "Object";
+        if (this->LocalGenerator->GetVersion() <
+            cmGlobalVisualStudioGenerator::VS11) {
+          // For VS == 10 we cannot use LinkObjects to avoid linking custom
+          // command outputs.  If an object file is generated in this target,
+          // then vs10 will use it in the build, and we have to list it as
+          // None instead of Object.
+          std::vector<cmSourceFile*> const* d =
+            this->GeneratorTarget->GetSourceDepends(si->Source);
+          if (d && !d->empty()) {
+            tool = "None";
+          }
+        }
+        break;
+      case cmGeneratorTarget::SourceKindExtra:
+        this->WriteExtraSource(si->Source);
+        break;
+      case cmGeneratorTarget::SourceKindHeader:
+        this->WriteHeaderSource(si->Source);
+        break;
+      case cmGeneratorTarget::SourceKindIDL:
+        tool = "Midl";
+        break;
+      case cmGeneratorTarget::SourceKindManifest:
+        // Handled elsewhere.
+        break;
+      case cmGeneratorTarget::SourceKindModuleDefinition:
+        tool = "None";
+        break;
+      case cmGeneratorTarget::SourceKindObjectSource: {
+        const std::string& lang = si->Source->GetLanguage();
+        if (lang == "C" || lang == "CXX") {
+          tool = "ClCompile";
+        } else if (lang == "ASM_MASM" &&
+                   this->GlobalGenerator->IsMasmEnabled()) {
+          tool = "MASM";
+        } else if (lang == "ASM_NASM" &&
+                   this->GlobalGenerator->IsNasmEnabled()) {
+          tool = "NASM";
+        } else if (lang == "RC") {
+          tool = "ResourceCompile";
+        } else if (lang == "CSharp") {
+          tool = "Compile";
+        } else if (lang == "CUDA" && this->GlobalGenerator->IsCudaEnabled()) {
+          tool = "CudaCompile";
+        } else {
+          tool = "None";
+        }
+      } break;
+      case cmGeneratorTarget::SourceKindResx:
+        // Handled elsewhere.
+        break;
+      case cmGeneratorTarget::SourceKindXaml:
+        // Handled elsewhere.
+        break;
     }
 
     if (!tool.empty()) {
-      this->WriteSource(tool, *si, " ");
-      if (this->OutputSourceSpecificFlags(*si)) {
-        this->WriteString("</", 2);
-        (*this->BuildFileStream) << tool << ">\n";
+      if (si->Kind == cmGeneratorTarget::SourceKindObjectSource) {
+        this->WriteSource(tool, si->Source, " ");
+        if (this->OutputSourceSpecificFlags(si->Source)) {
+          this->WriteString("</", 2);
+          (*this->BuildFileStream) << tool << ">\n";
+        } else {
+          (*this->BuildFileStream) << " />\n";
+        }
       } else {
-        (*this->BuildFileStream) << " />\n";
+        this->WriteSource(tool, si->Source);
       }
-    } else {
-      this->WriteSource("None", *si);
-    }
-  }
-
-  std::vector<cmSourceFile const*> manifestSources;
-  this->GeneratorTarget->GetAppManifest(manifestSources, "");
-  this->WriteSources("AppxManifest", manifestSources);
-
-  std::vector<cmSourceFile const*> certificateSources;
-  this->GeneratorTarget->GetCertificates(certificateSources, "");
-  this->WriteSources("None", certificateSources);
-
-  std::vector<cmSourceFile const*> externalObjects;
-  this->GeneratorTarget->GetExternalObjects(externalObjects, "");
-  if (this->LocalGenerator->GetVersion() >
-      cmGlobalVisualStudioGenerator::VS10) {
-    // For VS >= 11 we use LinkObjects to avoid linking custom command
-    // outputs.  Use Object for all external objects, generated or not.
-    this->WriteSources("Object", externalObjects);
-  } else {
-    // If an object file is generated in this target, then vs10 will use
-    // it in the build, and we have to list it as None instead of Object.
-    for (std::vector<cmSourceFile const*>::const_iterator si =
-           externalObjects.begin();
-         si != externalObjects.end(); ++si) {
-      std::vector<cmSourceFile*> const* d =
-        this->GeneratorTarget->GetSourceDepends(*si);
-      this->WriteSource((d && !d->empty()) ? "None" : "Object", *si);
     }
   }
 
-  std::vector<cmSourceFile const*> extraSources;
-  this->GeneratorTarget->GetExtraSources(extraSources, "");
-  for (std::vector<cmSourceFile const*>::const_iterator si =
-         extraSources.begin();
-       si != extraSources.end(); ++si) {
-    this->WriteExtraSource(*si);
-  }
-
-  std::vector<cmSourceFile const*> defSources;
-  this->GeneratorTarget->GetModuleDefinitionSources(defSources, "");
-  this->WriteSources("None", defSources);
-
   if (this->IsMissingFiles) {
     this->WriteMissingFiles();
   }
diff --git a/Source/cmVisualStudio10TargetGenerator.h b/Source/cmVisualStudio10TargetGenerator.h
index 52d5550..b85f0f2 100644
--- a/Source/cmVisualStudio10TargetGenerator.h
+++ b/Source/cmVisualStudio10TargetGenerator.h
@@ -62,8 +62,6 @@ private:
   void WriteNsightTegraConfigurationValues(std::string const& config);
   void WriteSource(std::string const& tool, cmSourceFile const* sf,
                    const char* end = 0);
-  void WriteSources(std::string const& tool,
-                    std::vector<cmSourceFile const*> const&);
   void WriteAllSources();
   void WriteDotNetReferences();
   void WriteDotNetReference(std::string const& ref, std::string const& hint);

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8c346bbc6ec3321c8ac99a5495cf4d842c71e260
commit 8c346bbc6ec3321c8ac99a5495cf4d842c71e260
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Apr 5 14:14:13 2017 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Apr 11 11:40:15 2017 -0400

    Xcode: Compute a concrete object file arch dir if possible

diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index efcbeff..d07cc3d 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -152,6 +152,7 @@ cmGlobalXCodeGenerator::cmGlobalXCodeGenerator(cmake* cm,
   this->CurrentLocalGenerator = 0;
   this->XcodeBuildCommandInitialized = false;
 
+  this->ObjectDirArchDefault = "$(CURRENT_ARCH)";
   this->ComputeObjectDirArch();
 
   cm->GetState()->SetIsGeneratorMultiConfig(true);
@@ -3210,12 +3211,28 @@ void cmGlobalXCodeGenerator::ComputeArchitectures(cmMakefile* mf)
     cmSystemTools::ExpandListArgument(std::string(osxArch),
                                       this->Architectures);
   }
+
+  if (this->Architectures.empty()) {
+    // With no ARCHS we use ONLY_ACTIVE_ARCH.
+    // Look up the arch that Xcode chooses in this case.
+    if (const char* arch = mf->GetDefinition("CMAKE_XCODE_CURRENT_ARCH")) {
+      this->ObjectDirArchDefault = arch;
+    }
+  }
+
+  this->ComputeObjectDirArch();
 }
 
 void cmGlobalXCodeGenerator::ComputeObjectDirArch()
 {
   if (this->XcodeVersion >= 21) {
-    this->ObjectDirArch = "$(CURRENT_ARCH)";
+    if (this->Architectures.size() > 1) {
+      this->ObjectDirArch = "$(CURRENT_ARCH)";
+    } else if (!this->Architectures.empty()) {
+      this->ObjectDirArch = this->Architectures[0];
+    } else {
+      this->ObjectDirArch = this->ObjectDirArchDefault;
+    }
   } else {
 #if defined(__ppc__)
     this->ObjectDirArch = "ppc";
diff --git a/Source/cmGlobalXCodeGenerator.h b/Source/cmGlobalXCodeGenerator.h
index 2cd9985..7921842 100644
--- a/Source/cmGlobalXCodeGenerator.h
+++ b/Source/cmGlobalXCodeGenerator.h
@@ -264,6 +264,7 @@ private:
   std::map<std::string, cmXCodeObject*> FileRefs;
   std::map<cmGeneratorTarget const*, cmXCodeObject*> XCodeObjectMap;
   std::vector<std::string> Architectures;
+  std::string ObjectDirArchDefault;
   std::string ObjectDirArch;
   std::string GeneratorToolset;
 };

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5f4e26dfc8c4ae26e9226236a05d20b826100db9
commit 5f4e26dfc8c4ae26e9226236a05d20b826100db9
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Apr 5 14:00:27 2017 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Apr 11 11:40:15 2017 -0400

    Xcode: Refactor object directory name computation
    
    Factor out a helper function to compute the object directory name
    architecture component.

diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index cbad52c..efcbeff 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -152,6 +152,8 @@ cmGlobalXCodeGenerator::cmGlobalXCodeGenerator(cmake* cm,
   this->CurrentLocalGenerator = 0;
   this->XcodeBuildCommandInitialized = false;
 
+  this->ComputeObjectDirArch();
+
   cm->GetState()->SetIsGeneratorMultiConfig(true);
 }
 
@@ -3210,6 +3212,21 @@ void cmGlobalXCodeGenerator::ComputeArchitectures(cmMakefile* mf)
   }
 }
 
+void cmGlobalXCodeGenerator::ComputeObjectDirArch()
+{
+  if (this->XcodeVersion >= 21) {
+    this->ObjectDirArch = "$(CURRENT_ARCH)";
+  } else {
+#if defined(__ppc__)
+    this->ObjectDirArch = "ppc";
+#elif defined(__i386)
+    this->ObjectDirArch = "i386";
+#else
+    this->ObjectDirArch = "";
+#endif
+  }
+}
+
 void cmGlobalXCodeGenerator::CreateXCodeDependHackTarget(
   std::vector<cmXCodeObject*>& targets)
 {
@@ -3719,15 +3736,7 @@ void cmGlobalXCodeGenerator::ComputeTargetObjectDirectory(
   std::string configName = this->GetCMakeCFGIntDir();
   std::string dir =
     this->GetObjectsNormalDirectory("$(PROJECT_NAME)", configName, gt);
-  if (this->XcodeVersion >= 21) {
-    dir += "$(CURRENT_ARCH)/";
-  } else {
-#ifdef __ppc__
-    dir += "ppc/";
-#endif
-#ifdef __i386
-    dir += "i386/";
-#endif
-  }
+  dir += this->ObjectDirArch;
+  dir += "/";
   gt->ObjectDirectory = dir;
 }
diff --git a/Source/cmGlobalXCodeGenerator.h b/Source/cmGlobalXCodeGenerator.h
index beb789b..2cd9985 100644
--- a/Source/cmGlobalXCodeGenerator.h
+++ b/Source/cmGlobalXCodeGenerator.h
@@ -241,6 +241,7 @@ private:
                                         const cmGeneratorTarget* t) const;
 
   void ComputeArchitectures(cmMakefile* mf);
+  void ComputeObjectDirArch();
 
   void addObject(cmXCodeObject* obj);
   std::string PostBuildMakeTarget(std::string const& tName,
@@ -263,6 +264,7 @@ private:
   std::map<std::string, cmXCodeObject*> FileRefs;
   std::map<cmGeneratorTarget const*, cmXCodeObject*> XCodeObjectMap;
   std::vector<std::string> Architectures;
+  std::string ObjectDirArch;
   std::string GeneratorToolset;
 };
 

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5b29fd6d4df4eea8ac04a3f6287f721e28b6b5b4
commit 5b29fd6d4df4eea8ac04a3f6287f721e28b6b5b4
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Apr 5 13:33:37 2017 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Apr 11 11:40:15 2017 -0400

    Xcode: Refactor internal architecture list construction
    
    Factor population of the `Architectures` member out into a helper to
    avoid duplication.

diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index febe95d..cbad52c 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -282,13 +282,7 @@ void cmGlobalXCodeGenerator::EnableLanguage(
   }
   mf->AddDefinition("CMAKE_GENERATOR_NO_COMPILER_ENV", "1");
   this->cmGlobalGenerator::EnableLanguage(lang, mf, optional);
-  const char* osxArch = mf->GetDefinition("CMAKE_OSX_ARCHITECTURES");
-  const char* sysroot = mf->GetDefinition("CMAKE_OSX_SYSROOT");
-  if (osxArch && sysroot) {
-    this->Architectures.clear();
-    cmSystemTools::ExpandListArgument(std::string(osxArch),
-                                      this->Architectures);
-  }
+  this->ComputeArchitectures(mf);
 }
 
 void cmGlobalXCodeGenerator::GenerateBuildCommand(
@@ -3089,23 +3083,16 @@ bool cmGlobalXCodeGenerator::CreateXCodeObjects(
                            this->CreateString(defaultConfigName));
   cmXCodeObject* buildSettings =
     this->CreateObject(cmXCodeObject::ATTRIBUTE_GROUP);
-  const char* osxArch =
-    this->CurrentMakefile->GetDefinition("CMAKE_OSX_ARCHITECTURES");
   const char* sysroot =
     this->CurrentMakefile->GetDefinition("CMAKE_OSX_SYSROOT");
   const char* deploymentTarget =
     this->CurrentMakefile->GetDefinition("CMAKE_OSX_DEPLOYMENT_TARGET");
-  std::string archs;
   if (sysroot) {
-    if (osxArch) {
-      // recompute this as it may have been changed since enable language
-      this->Architectures.clear();
-      cmSystemTools::ExpandListArgument(std::string(osxArch),
-                                        this->Architectures);
-      archs = cmJoin(this->Architectures, " ");
-    }
     buildSettings->AddAttribute("SDKROOT", this->CreateString(sysroot));
   }
+  // recompute this as it may have been changed since enable language
+  this->ComputeArchitectures(this->CurrentMakefile);
+  std::string const archs = cmJoin(this->Architectures, " ");
   if (archs.empty()) {
     // Tell Xcode to use NATIVE_ARCH instead of ARCHS.
     buildSettings->AddAttribute("ONLY_ACTIVE_ARCH", this->CreateString("YES"));
@@ -3212,6 +3199,17 @@ std::string cmGlobalXCodeGenerator::GetObjectsNormalDirectory(
   return dir;
 }
 
+void cmGlobalXCodeGenerator::ComputeArchitectures(cmMakefile* mf)
+{
+  this->Architectures.clear();
+  const char* osxArch = mf->GetDefinition("CMAKE_OSX_ARCHITECTURES");
+  const char* sysroot = mf->GetDefinition("CMAKE_OSX_SYSROOT");
+  if (osxArch && sysroot) {
+    cmSystemTools::ExpandListArgument(std::string(osxArch),
+                                      this->Architectures);
+  }
+}
+
 void cmGlobalXCodeGenerator::CreateXCodeDependHackTarget(
   std::vector<cmXCodeObject*>& targets)
 {
diff --git a/Source/cmGlobalXCodeGenerator.h b/Source/cmGlobalXCodeGenerator.h
index 172e414..beb789b 100644
--- a/Source/cmGlobalXCodeGenerator.h
+++ b/Source/cmGlobalXCodeGenerator.h
@@ -240,6 +240,8 @@ private:
                                         const std::string& configName,
                                         const cmGeneratorTarget* t) const;
 
+  void ComputeArchitectures(cmMakefile* mf);
+
   void addObject(cmXCodeObject* obj);
   std::string PostBuildMakeTarget(std::string const& tName,
                                   std::string const& configName);

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b1eb493c11f38f651c2a8f0489918f3a55feeb99
commit b1eb493c11f38f651c2a8f0489918f3a55feeb99
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Apr 5 14:54:02 2017 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Apr 11 11:40:14 2017 -0400

    cmGlobalGenerator: Abort generation earlier on export() error

diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index ce83e2e..a9243eb 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -1347,10 +1347,11 @@ void cmGlobalGenerator::Generate()
   for (std::map<std::string, cmExportBuildFileGenerator*>::iterator it =
          this->BuildExportSets.begin();
        it != this->BuildExportSets.end(); ++it) {
-    if (!it->second->GenerateImportFile() &&
-        !cmSystemTools::GetErrorOccuredFlag()) {
-      this->GetCMakeInstance()->IssueMessage(cmake::FATAL_ERROR,
-                                             "Could not write export file.");
+    if (!it->second->GenerateImportFile()) {
+      if (!cmSystemTools::GetErrorOccuredFlag()) {
+        this->GetCMakeInstance()->IssueMessage(cmake::FATAL_ERROR,
+                                               "Could not write export file.");
+      }
       return;
     }
   }

-----------------------------------------------------------------------

Summary of changes:
 Source/cmGeneratorTarget.cxx               |    6 -
 Source/cmGeneratorTarget.h                 |    2 -
 Source/cmGlobalGenerator.cxx               |    9 +-
 Source/cmGlobalXCodeGenerator.cxx          |   78 ++++++++-----
 Source/cmGlobalXCodeGenerator.h            |    5 +
 Source/cmVisualStudio10TargetGenerator.cxx |  163 ++++++++++++++--------------
 Source/cmVisualStudio10TargetGenerator.h   |    2 -
 7 files changed, 141 insertions(+), 124 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list