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, master has been updated
       via  1d51fcaeafeb9bfcdf3bc871d2b875446df081e8 (commit)
       via  0baf114a35f061ac27f44c9d4716b2f30a1533c6 (commit)
       via  d4b70a20fae44e802b5e07c7fa18b81808263f77 (commit)
       via  485cbd456aae395da1661b08161751c3c3b47a96 (commit)
       via  eda45e9f17cdc401c6450d0e8eca65e5b068330f (commit)
       via  15ef27286ade97a49f6832254d3451755a824fb8 (commit)
       via  362f9bd755c7b964184db38d1fb2217ded70af63 (commit)
       via  952fc65d140a1b36fc2e580d7ca89de231a04412 (commit)
       via  cbf1393aa4b957ec3c2c5cc4852dcebab825c5b6 (commit)
       via  ae813b6bcc64fc5096fb4a7d87920b47cfbe488f (commit)
       via  d9c8aa47c2e7a2f97def22847a76c3cfcba74f01 (commit)
       via  4f7d9eef51da4a72fd7c7a17bcbbcf83ffad3216 (commit)
      from  f8a61c578badb0015423580b38341bc00a3c7fd4 (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=1d51fcaeafeb9bfcdf3bc871d2b875446df081e8
commit 1d51fcaeafeb9bfcdf3bc871d2b875446df081e8
Merge: 0baf114 15ef272
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Fri Aug 11 13:14:36 2017 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Fri Aug 11 09:14:40 2017 -0400

    Merge topic 'autogen-merge-redundant'
    
    15ef2728 Autogen: Add test for OBJECT libraries
    362f9bd7 Autogen: Merge and remove redundant function calls
    952fc65d Autogen: Clear sources meta data cache
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !1120


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0baf114a35f061ac27f44c9d4716b2f30a1533c6
commit 0baf114a35f061ac27f44c9d4716b2f30a1533c6
Merge: d4b70a2 4f7d9ee
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Fri Aug 11 13:13:36 2017 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Fri Aug 11 09:13:39 2017 -0400

    Merge topic 'genex-COMPILE_FEATURES-stds'
    
    4f7d9eef Features: Fix COMPILE_FEATURES genex for C++ 14 and 17 features
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !1118


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d4b70a20fae44e802b5e07c7fa18b81808263f77
commit d4b70a20fae44e802b5e07c7fa18b81808263f77
Merge: 485cbd4 ae813b6
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Fri Aug 11 13:12:23 2017 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Fri Aug 11 09:12:37 2017 -0400

    Merge topic 'FindCUDA-superseded'
    
    ae813b6b FindCUDA: Document that module has been superseded
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !1124


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=485cbd456aae395da1661b08161751c3c3b47a96
commit 485cbd456aae395da1661b08161751c3c3b47a96
Merge: eda45e9 d9c8aa4
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Fri Aug 11 13:12:15 2017 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Fri Aug 11 09:12:18 2017 -0400

    Merge topic 'findcuda_dont_ignore_CUDA_USE_STATIC_CUDA_RUNTIME'
    
    d9c8aa47 FindCUDA: Always obey the CUDA_USE_STATIC_CUDA_RUNTIME option.
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !1123


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=eda45e9f17cdc401c6450d0e8eca65e5b068330f
commit eda45e9f17cdc401c6450d0e8eca65e5b068330f
Merge: f8a61c5 cbf1393
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Fri Aug 11 13:11:37 2017 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Fri Aug 11 09:11:43 2017 -0400

    Merge topic 'FindCUDA-cuda9'
    
    cbf1393a FindCUDA: Add CUDA9/Volta recognition
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Reviewed-by: Robert Maynard <robert.mayn...@kitware.com>
    Merge-request: !1119


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=15ef27286ade97a49f6832254d3451755a824fb8
commit 15ef27286ade97a49f6832254d3451755a824fb8
Author:     Sebastian Holtermann <sebh...@xwmw.org>
AuthorDate: Thu Aug 10 19:16:16 2017 +0200
Commit:     Sebastian Holtermann <sebh...@xwmw.org>
CommitDate: Thu Aug 10 23:15:48 2017 +0200

    Autogen: Add test for OBJECT libraries

diff --git a/Tests/QtAutogen/CMakeLists.txt b/Tests/QtAutogen/CMakeLists.txt
index 5064d26..198bf63 100644
--- a/Tests/QtAutogen/CMakeLists.txt
+++ b/Tests/QtAutogen/CMakeLists.txt
@@ -193,5 +193,9 @@ endif()
 add_subdirectory(uicInclude)
 
 # -- Test
+# OBJECT libraries
+add_subdirectory(objectLibrary)
+
+# -- Test
 # Complex test case
 add_subdirectory(complex)
diff --git a/Tests/QtAutogen/objectLibrary/CMakeLists.txt 
b/Tests/QtAutogen/objectLibrary/CMakeLists.txt
new file mode 100644
index 0000000..9b29a40
--- /dev/null
+++ b/Tests/QtAutogen/objectLibrary/CMakeLists.txt
@@ -0,0 +1,14 @@
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+set(CMAKE_AUTOMOC ON)
+
+# Object library a defined in a subdirectory
+add_subdirectory(a)
+
+# Object library b defined locally
+include_directories(b)
+add_library(b OBJECT b/classb.cpp)
+target_compile_features(b PRIVATE ${QT_COMPILE_FEATURES})
+
+# Executable with OBJECT library generator expressions
+add_executable(someProgram main.cpp $<TARGET_OBJECTS:a> $<TARGET_OBJECTS:b>)
+target_link_libraries(someProgram ${QT_LIBRARIES})
diff --git a/Tests/QtAutogen/objectLibrary/a/CMakeLists.txt 
b/Tests/QtAutogen/objectLibrary/a/CMakeLists.txt
new file mode 100644
index 0000000..fe76ac3
--- /dev/null
+++ b/Tests/QtAutogen/objectLibrary/a/CMakeLists.txt
@@ -0,0 +1,2 @@
+add_library(a OBJECT classa.cpp)
+target_compile_features(a PRIVATE ${QT_COMPILE_FEATURES})
diff --git a/Tests/QtAutogen/objectLibrary/a/classa.cpp 
b/Tests/QtAutogen/objectLibrary/a/classa.cpp
new file mode 100644
index 0000000..4f08fda
--- /dev/null
+++ b/Tests/QtAutogen/objectLibrary/a/classa.cpp
@@ -0,0 +1,7 @@
+#include "classa.h"
+#include <QDebug>
+
+void ClassA::slotDoSomething()
+{
+  qDebug() << m_member;
+}
diff --git a/Tests/QtAutogen/objectLibrary/a/classa.h 
b/Tests/QtAutogen/objectLibrary/a/classa.h
new file mode 100644
index 0000000..fa5fed9
--- /dev/null
+++ b/Tests/QtAutogen/objectLibrary/a/classa.h
@@ -0,0 +1,23 @@
+#ifndef CLASSA_H
+#define CLASSA_H
+
+#include <QObject>
+#include <QString>
+
+class ClassA : public QObject
+{
+  Q_OBJECT
+public:
+  ClassA()
+    : m_member("Hello A")
+  {
+  }
+
+public slots:
+  void slotDoSomething();
+
+private:
+  QString m_member;
+};
+
+#endif
diff --git a/Tests/QtAutogen/objectLibrary/b/classb.cpp 
b/Tests/QtAutogen/objectLibrary/b/classb.cpp
new file mode 100644
index 0000000..26e0926
--- /dev/null
+++ b/Tests/QtAutogen/objectLibrary/b/classb.cpp
@@ -0,0 +1,7 @@
+#include "classb.h"
+#include <QDebug>
+
+void ClassB::slotDoSomething()
+{
+  qDebug() << m_member;
+}
diff --git a/Tests/QtAutogen/objectLibrary/b/classb.h 
b/Tests/QtAutogen/objectLibrary/b/classb.h
new file mode 100644
index 0000000..783bb48
--- /dev/null
+++ b/Tests/QtAutogen/objectLibrary/b/classb.h
@@ -0,0 +1,23 @@
+#ifndef CLASSB_H
+#define CLASSB_H
+
+#include <QObject>
+#include <QString>
+
+class ClassB : public QObject
+{
+  Q_OBJECT
+public:
+  ClassB()
+    : m_member("Hello B")
+  {
+  }
+
+public slots:
+  void slotDoSomething();
+
+private:
+  QString m_member;
+};
+
+#endif
diff --git a/Tests/QtAutogen/objectLibrary/main.cpp 
b/Tests/QtAutogen/objectLibrary/main.cpp
new file mode 100644
index 0000000..cacf0fd
--- /dev/null
+++ b/Tests/QtAutogen/objectLibrary/main.cpp
@@ -0,0 +1,13 @@
+#include "a/classa.h"
+#include "b/classb.h"
+
+int main(int argc, char** argv)
+{
+  ClassA a;
+  a.slotDoSomething();
+
+  ClassB b;
+  b.slotDoSomething();
+
+  return 0;
+}

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=362f9bd755c7b964184db38d1fb2217ded70af63
commit 362f9bd755c7b964184db38d1fb2217ded70af63
Author:     Sebastian Holtermann <sebh...@xwmw.org>
AuthorDate: Wed Aug 9 11:22:56 2017 +0200
Commit:     Sebastian Holtermann <sebh...@xwmw.org>
CommitDate: Thu Aug 10 18:48:15 2017 +0200

    Autogen: Merge and remove redundant function calls

diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index c8b13ad..18d10c5 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -1433,31 +1433,36 @@ cmGlobalGenerator::CreateQtAutoGeneratorsTargets()
   std::vector<const cmGeneratorTarget*> autogenTargets;
 
 #ifdef CMAKE_BUILD_WITH_CMAKE
-  for (unsigned int i = 0; i < this->LocalGenerators.size(); ++i) {
-    std::vector<cmGeneratorTarget*> targets =
-      this->LocalGenerators[i]->GetGeneratorTargets();
+  for (std::vector<cmLocalGenerator*>::const_iterator lgit =
+         this->LocalGenerators.begin();
+       lgit != this->LocalGenerators.end(); ++lgit) {
+    cmLocalGenerator* localGen = *lgit;
+    const std::vector<cmGeneratorTarget*>& targets =
+      localGen->GetGeneratorTargets();
+    // Find targets that require AUTOGEN processing
     std::vector<cmGeneratorTarget*> filteredTargets;
     filteredTargets.reserve(targets.size());
-    for (std::vector<cmGeneratorTarget*>::iterator ti = targets.begin();
+    for (std::vector<cmGeneratorTarget*>::const_iterator ti = targets.begin();
          ti != targets.end(); ++ti) {
-      if ((*ti)->GetType() == cmStateEnums::GLOBAL_TARGET) {
+      cmGeneratorTarget* target = *ti;
+      if (target->GetType() == cmStateEnums::GLOBAL_TARGET) {
         continue;
       }
-      if ((*ti)->GetType() != cmStateEnums::EXECUTABLE &&
-          (*ti)->GetType() != cmStateEnums::STATIC_LIBRARY &&
-          (*ti)->GetType() != cmStateEnums::SHARED_LIBRARY &&
-          (*ti)->GetType() != cmStateEnums::MODULE_LIBRARY &&
-          (*ti)->GetType() != cmStateEnums::OBJECT_LIBRARY) {
+      if (target->GetType() != cmStateEnums::EXECUTABLE &&
+          target->GetType() != cmStateEnums::STATIC_LIBRARY &&
+          target->GetType() != cmStateEnums::SHARED_LIBRARY &&
+          target->GetType() != cmStateEnums::MODULE_LIBRARY &&
+          target->GetType() != cmStateEnums::OBJECT_LIBRARY) {
         continue;
       }
-      if ((!(*ti)->GetPropertyAsBool("AUTOMOC") &&
-           !(*ti)->GetPropertyAsBool("AUTOUIC") &&
-           !(*ti)->GetPropertyAsBool("AUTORCC")) ||
-          (*ti)->IsImported()) {
+      if ((!target->GetPropertyAsBool("AUTOMOC") &&
+           !target->GetPropertyAsBool("AUTOUIC") &&
+           !target->GetPropertyAsBool("AUTORCC")) ||
+          target->IsImported()) {
         continue;
       }
-      // don't do anything if there is no Qt4 or Qt5Core (which contains moc):
-      cmMakefile* mf = (*ti)->Target->GetMakefile();
+      // don't do anything if there is no Qt4 or Qt5Core (which contains moc)
+      cmMakefile* mf = target->Target->GetMakefile();
       std::string qtMajorVersion = mf->GetSafeDefinition("QT_VERSION_MAJOR");
       if (qtMajorVersion == "") {
         qtMajorVersion = mf->GetSafeDefinition("Qt5Core_VERSION_MAJOR");
@@ -1465,17 +1470,13 @@ cmGlobalGenerator::CreateQtAutoGeneratorsTargets()
       if (qtMajorVersion != "4" && qtMajorVersion != "5") {
         continue;
       }
-
-      cmGeneratorTarget* gt = *ti;
-
-      cmQtAutoGeneratorInitializer::InitializeAutogenSources(gt);
-      filteredTargets.push_back(gt);
+      filteredTargets.push_back(target);
     }
+    // Initialize AUTOGEN targets
     for (std::vector<cmGeneratorTarget*>::iterator ti =
            filteredTargets.begin();
          ti != filteredTargets.end(); ++ti) {
-      cmQtAutoGeneratorInitializer::InitializeAutogenTarget(
-        this->LocalGenerators[i], *ti);
+      cmQtAutoGeneratorInitializer::InitializeAutogenTarget(localGen, *ti);
       autogenTargets.push_back(*ti);
     }
   }
diff --git a/Source/cmQtAutoGeneratorInitializer.cxx 
b/Source/cmQtAutoGeneratorInitializer.cxx
index 2cf2ee9..7974977 100644
--- a/Source/cmQtAutoGeneratorInitializer.cxx
+++ b/Source/cmQtAutoGeneratorInitializer.cxx
@@ -263,13 +263,17 @@ static bool AddToSourceGroup(cmMakefile* makefile, const 
std::string& fileName,
   return true;
 }
 
-static void AddGeneratedSource(cmMakefile* makefile,
+static void AddGeneratedSource(cmGeneratorTarget* target,
                                const std::string& filename,
                                cmQtAutoGeneratorCommon::GeneratorType genType)
 {
-  cmSourceFile* gFile = makefile->GetOrCreateSource(filename, true);
-  gFile->SetProperty("GENERATED", "1");
-  gFile->SetProperty("SKIP_AUTOGEN", "On");
+  cmMakefile* makefile = target->Target->GetMakefile();
+  {
+    cmSourceFile* gFile = makefile->GetOrCreateSource(filename, true);
+    gFile->SetProperty("GENERATED", "1");
+    gFile->SetProperty("SKIP_AUTOGEN", "On");
+  }
+  target->AddSource(filename);
 
   AddToSourceGroup(makefile, filename, genType);
 }
@@ -692,19 +696,6 @@ static void RccSetupAutoTarget(cmGeneratorTarget const* 
target,
   AddDefinitionEscaped(makefile, "_rcc_options_options", rccFileOptions);
 }
 
-void cmQtAutoGeneratorInitializer::InitializeAutogenSources(
-  cmGeneratorTarget* target)
-{
-  if (target->GetPropertyAsBool("AUTOMOC")) {
-    cmMakefile* makefile = target->Target->GetMakefile();
-    // Mocs compilation file
-    const std::string mocsComp =
-      GetAutogenTargetBuildDir(target) + "/mocs_compilation.cpp";
-    AddGeneratedSource(makefile, mocsComp, cmQtAutoGeneratorCommon::MOC);
-    target->AddSource(mocsComp);
-  }
-}
-
 void cmQtAutoGeneratorInitializer::InitializeAutogenTarget(
   cmLocalGenerator* lg, cmGeneratorTarget* target)
 {
@@ -781,6 +772,7 @@ void cmQtAutoGeneratorInitializer::InitializeAutogenTarget(
   // Add moc compilation to generated files list
   if (mocEnabled) {
     const std::string mocsComp = autogenBuildDir + "/mocs_compilation.cpp";
+    AddGeneratedSource(target, mocsComp, cmQtAutoGeneratorCommon::MOC);
     autogenProvides.push_back(mocsComp);
   }
 
@@ -880,10 +872,8 @@ void cmQtAutoGeneratorInitializer::InitializeAutogenTarget(
             rccBuildFile += ".cpp";
 
             // Register rcc ouput file as generated
-            AddGeneratedSource(makefile, rccBuildFile,
+            AddGeneratedSource(target, rccBuildFile,
                                cmQtAutoGeneratorCommon::RCC);
-            // Add rcc output file to origin target sources
-            target->AddSource(rccBuildFile);
             // Register rcc ouput file as generated by the _autogen target
             autogenProvides.push_back(rccBuildFile);
           }
diff --git a/Source/cmQtAutoGeneratorInitializer.h 
b/Source/cmQtAutoGeneratorInitializer.h
index ca806f5..11f6e1e 100644
--- a/Source/cmQtAutoGeneratorInitializer.h
+++ b/Source/cmQtAutoGeneratorInitializer.h
@@ -11,7 +11,6 @@ class cmLocalGenerator;
 class cmQtAutoGeneratorInitializer
 {
 public:
-  static void InitializeAutogenSources(cmGeneratorTarget* target);
   static void InitializeAutogenTarget(cmLocalGenerator* lg,
                                       cmGeneratorTarget* target);
   static void SetupAutoGenerateTarget(cmGeneratorTarget const* target);

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=952fc65d140a1b36fc2e580d7ca89de231a04412
commit 952fc65d140a1b36fc2e580d7ca89de231a04412
Author:     Sebastian Holtermann <sebh...@xwmw.org>
AuthorDate: Thu Aug 10 18:27:52 2017 +0200
Commit:     Sebastian Holtermann <sebh...@xwmw.org>
CommitDate: Thu Aug 10 18:33:02 2017 +0200

    Autogen: Clear sources meta data cache
    
    Adds cmGeneratorTarget::clearSourcesCache() which clears the cache
    of precomputed sources lists and object names. The cache gets
    recomputed on demand.
    
    Clearing the cache is necessary in case an OBJECT library
    gets a source added after a target (ORIGIN) that includes it
    computed it's external sources cache.
    This may happen in AUTOMOC when ORIGIN is processed before the
    OBJECT library which gets a mocs_compilation.cpp file added.
    
    Closes #17152
    Closes #17139
    Closes #17085
    Closes #15967

diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index 329c7a9..95f4543 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -326,6 +326,13 @@ std::string cmGeneratorTarget::GetOutputName(
   return i->second;
 }
 
+void cmGeneratorTarget::ClearSourcesCache()
+{
+  this->KindedSourcesMap.clear();
+  this->LinkImplementationLanguageIsContextDependent = true;
+  this->Objects.clear();
+}
+
 void cmGeneratorTarget::AddSourceCommon(const std::string& src)
 {
   cmListFileBacktrace lfbt = this->Makefile->GetBacktrace();
@@ -333,8 +340,7 @@ void cmGeneratorTarget::AddSourceCommon(const std::string& 
src)
   CM_AUTO_PTR<cmCompiledGeneratorExpression> cge = ge.Parse(src);
   cge->SetEvaluateForBuildsystem(true);
   this->SourceEntries.push_back(new TargetPropertyEntry(cge));
-  this->KindedSourcesMap.clear();
-  this->LinkImplementationLanguageIsContextDependent = true;
+  this->ClearSourcesCache();
 }
 
 void cmGeneratorTarget::AddSource(const std::string& src)
diff --git a/Source/cmGeneratorTarget.h b/Source/cmGeneratorTarget.h
index 52147e3..b5f7f6e 100644
--- a/Source/cmGeneratorTarget.h
+++ b/Source/cmGeneratorTarget.h
@@ -491,6 +491,11 @@ public:
   std::string GetOutputName(const std::string& config,
                             cmStateEnums::ArtifactType artifact) const;
 
+  /** Clears cached meta data for local and external source files.
+    * The meta data will be recomputed on demand.
+    */
+  void ClearSourcesCache();
+
   void AddSource(const std::string& src);
   void AddTracedSources(std::vector<std::string> const& srcs);
 
diff --git a/Source/cmQtAutoGeneratorInitializer.cxx 
b/Source/cmQtAutoGeneratorInitializer.cxx
index 5a06730..2cf2ee9 100644
--- a/Source/cmQtAutoGeneratorInitializer.cxx
+++ b/Source/cmQtAutoGeneratorInitializer.cxx
@@ -919,6 +919,12 @@ void cmQtAutoGeneratorInitializer::InitializeAutogenTarget(
     }
   }
 
+  // cmGeneratorTarget::GetConfigCommonSourceFiles computes the target's
+  // sources meta data cache. Clear it so that OBJECT library targets that
+  // are AUTOGEN initialized after this target get their added
+  // mocs_compilation.cpp source acknowledged by this target.
+  target->ClearSourcesCache();
+
   // Convert std::set to std::vector
   const std::vector<std::string> autogenDepends(autogenDependsSet.begin(),
                                                 autogenDependsSet.end());

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cbf1393aa4b957ec3c2c5cc4852dcebab825c5b6
commit cbf1393aa4b957ec3c2c5cc4852dcebab825c5b6
Author:     Boris Fomitchev <bfomitc...@nvidia.com>
AuthorDate: Tue Aug 8 14:04:32 2017 -0700
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Thu Aug 10 11:10:07 2017 -0400

    FindCUDA: Add CUDA9/Volta recognition

diff --git a/Modules/FindCUDA/select_compute_arch.cmake 
b/Modules/FindCUDA/select_compute_arch.cmake
index 8fb44d8..b604a17 100644
--- a/Modules/FindCUDA/select_compute_arch.cmake
+++ b/Modules/FindCUDA/select_compute_arch.cmake
@@ -30,12 +30,17 @@ endif ()
 
 if (CUDA_VERSION VERSION_GREATER "7.5")
   list(APPEND CUDA_KNOWN_GPU_ARCHITECTURES "Pascal")
-  list(APPEND CUDA_COMMON_GPU_ARCHITECTURES "6.0" "6.1" "6.1+PTX")
+  list(APPEND CUDA_COMMON_GPU_ARCHITECTURES "6.0" "6.1")
 else()
   list(APPEND CUDA_COMMON_GPU_ARCHITECTURES "5.2+PTX")
 endif ()
 
-
+if (CUDA_VERSION VERSION_GREATER "8.5")
+  list(APPEND CUDA_KNOWN_GPU_ARCHITECTURES "Volta")
+  list(APPEND CUDA_COMMON_GPU_ARCHITECTURES "7.0" "7.0+PTX")
+else()
+  list(APPEND CUDA_COMMON_GPU_ARCHITECTURES "6.1+PTX")
+endif()
 
 
################################################################################################
 # A function for automatic detection of GPUs installed  (if autodetection is 
enabled)
@@ -141,6 +146,9 @@ function(CUDA_SELECT_NVCC_ARCH_FLAGS out_variable)
       elseif(${arch_name} STREQUAL "Pascal")
         set(arch_bin 6.0 6.1)
         set(arch_ptx 6.1)
+      elseif(${arch_name} STREQUAL "Volta")
+        set(arch_bin 7.0 7.0)
+        set(arch_ptx 7.0)
       else()
         message(SEND_ERROR "Unknown CUDA Architecture Name ${arch_name} in 
CUDA_SELECT_NVCC_ARCH_FLAGS")
       endif()

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ae813b6bcc64fc5096fb4a7d87920b47cfbe488f
commit ae813b6bcc64fc5096fb4a7d87920b47cfbe488f
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Thu Aug 10 10:19:26 2017 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Thu Aug 10 10:22:53 2017 -0400

    FindCUDA: Document that module has been superseded
    
    Add a note at the top of the module documentation to point readers
    at the first-class support for the CUDA language.

diff --git a/Modules/FindCUDA.cmake b/Modules/FindCUDA.cmake
index 5dc55d4..98fb58b 100644
--- a/Modules/FindCUDA.cmake
+++ b/Modules/FindCUDA.cmake
@@ -2,6 +2,20 @@
 # FindCUDA
 # --------
 #
+# .. note::
+#
+#   The FindCUDA module has been superseded by first-class support
+#   for the CUDA language in CMake.  It is no longer necessary to
+#   use this module or call ``find_package(CUDA)``.  This module
+#   now exists only for compatibility with projects that have not
+#   been ported.
+#
+#   Instead, list ``CUDA`` among the languages named in the top-level
+#   call to the :command:`project` command, or call the
+#   :command:`enable_language` command with ``CUDA``.
+#   Then one can add CUDA (``.cu``) sources to programs directly
+#   in calls to :command:`add_library` and :command:`add_executable`.
+#
 # Tools for building CUDA C files: libraries and build dependencies.
 #
 # This script locates the NVIDIA CUDA C tools.  It should work on linux,

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d9c8aa47c2e7a2f97def22847a76c3cfcba74f01
commit d9c8aa47c2e7a2f97def22847a76c3cfcba74f01
Author:     Robert Maynard <robert.mayn...@kitware.com>
AuthorDate: Thu Aug 10 09:33:06 2017 -0400
Commit:     Robert Maynard <robert.mayn...@kitware.com>
CommitDate: Thu Aug 10 09:33:06 2017 -0400

    FindCUDA: Always obey the CUDA_USE_STATIC_CUDA_RUNTIME option.
    
    Fixes #17150, where the FindCUDA would incorrectly handle
    CUDA_USE_STATIC_CUDA_RUNTIME being set to false.

diff --git a/Modules/FindCUDA.cmake b/Modules/FindCUDA.cmake
index 5dc55d4..b79f787 100644
--- a/Modules/FindCUDA.cmake
+++ b/Modules/FindCUDA.cmake
@@ -589,7 +589,6 @@ macro(cuda_unset_include_and_libraries)
   unset(CUDA_npps_LIBRARY CACHE)
   unset(CUDA_nvcuvenc_LIBRARY CACHE)
   unset(CUDA_nvcuvid_LIBRARY CACHE)
-  unset(CUDA_USE_STATIC_CUDA_RUNTIME CACHE)
   unset(CUDA_GPU_DETECT_OUTPUT CACHE)
 endmacro()
 
@@ -802,12 +801,17 @@ endif()
 if(CUDA_cudart_static_LIBRARY)
   # If static cudart available, use it by default, but provide a user-visible 
option to disable it.
   option(CUDA_USE_STATIC_CUDA_RUNTIME "Use the static version of the CUDA 
runtime library if available" ON)
-  set(CUDA_CUDART_LIBRARY_VAR CUDA_cudart_static_LIBRARY)
 else()
   # If not available, silently disable the option.
   set(CUDA_USE_STATIC_CUDA_RUNTIME OFF CACHE INTERNAL "")
+endif()
+
+if(CUDA_USE_STATIC_CUDA_RUNTIME)
+  set(CUDA_CUDART_LIBRARY_VAR CUDA_cudart_static_LIBRARY)
+else()
   set(CUDA_CUDART_LIBRARY_VAR CUDA_CUDART_LIBRARY)
 endif()
+
 if(NOT CUDA_VERSION VERSION_LESS "5.0")
   cuda_find_library_local_first(CUDA_cudadevrt_LIBRARY cudadevrt 
"\"cudadevrt\" library")
   mark_as_advanced(CUDA_cudadevrt_LIBRARY)

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4f7d9eef51da4a72fd7c7a17bcbbcf83ffad3216
commit 4f7d9eef51da4a72fd7c7a17bcbbcf83ffad3216
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Tue Aug 8 10:46:00 2017 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Tue Aug 8 13:28:38 2017 -0400

    Features: Fix COMPILE_FEATURES genex for C++ 14 and 17 features
    
    When `CXX_STANDARD` is not at least 14 or 17, features enabled by the
    compiler for those standards should not be reported as existing by the
    `COMPILE_FEATURES` genex.  Fix the implementation and add a test.

diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index f077459..cb6cf2d 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -4381,6 +4381,18 @@ bool cmMakefile::HaveCxxStandardAvailable(cmTarget 
const* target,
                    cmStrCmp(existingCxxStandard))
     : cmArrayEnd(CXX_STANDARDS);
 
+  if (needCxx17 &&
+      existingCxxIt < std::find_if(cmArrayBegin(CXX_STANDARDS),
+                                   cmArrayEnd(CXX_STANDARDS),
+                                   cmStrCmp("17"))) {
+    return false;
+  }
+  if (needCxx14 &&
+      existingCxxIt < std::find_if(cmArrayBegin(CXX_STANDARDS),
+                                   cmArrayEnd(CXX_STANDARDS),
+                                   cmStrCmp("14"))) {
+    return false;
+  }
   if (needCxx11 &&
       existingCxxIt < std::find_if(cmArrayBegin(CXX_STANDARDS),
                                    cmArrayEnd(CXX_STANDARDS),
diff --git a/Tests/CompileFeatures/CMakeLists.txt 
b/Tests/CompileFeatures/CMakeLists.txt
index 4a5558d..b560acd 100644
--- a/Tests/CompileFeatures/CMakeLists.txt
+++ b/Tests/CompileFeatures/CMakeLists.txt
@@ -428,6 +428,14 @@ else()
     HAVE_FINAL=$<COMPILE_FEATURES:cxx_final>
     
HAVE_INHERITING_CONSTRUCTORS_AND_FINAL=$<COMPILE_FEATURES:cxx_inheriting_constructors,cxx_final>
   )
+  if (CMAKE_CXX_STANDARD_DEFAULT)
+    target_compile_definitions(CompileFeaturesGenex PRIVATE
+      TEST_CXX_STD
+      HAVE_CXX_STD_11=$<COMPILE_FEATURES:cxx_std_11>
+      HAVE_CXX_STD_14=$<COMPILE_FEATURES:cxx_std_14>
+      HAVE_CXX_STD_17=$<COMPILE_FEATURES:cxx_std_17>
+    )
+  endif()
 
   add_executable(CompileFeaturesGenex2 genex_test.cpp)
   target_compile_features(CompileFeaturesGenex2 PRIVATE cxx_std_11)
diff --git a/Tests/CompileFeatures/genex_test.cpp 
b/Tests/CompileFeatures/genex_test.cpp
index 5ae8a78..5303e73 100644
--- a/Tests/CompileFeatures/genex_test.cpp
+++ b/Tests/CompileFeatures/genex_test.cpp
@@ -11,6 +11,18 @@
 #error EXPECT_OVERRIDE_CONTROL not defined
 #endif
 
+#ifdef TEST_CXX_STD
+#if !HAVE_CXX_STD_11
+#error HAVE_CXX_STD_11 is false with CXX_STANDARD == 11
+#endif
+#if HAVE_CXX_STD_14
+#error HAVE_CXX_STD_14 is true with CXX_STANDARD == 11
+#endif
+#if HAVE_CXX_STD_17
+#error HAVE_CXX_STD_17 is true with CXX_STANDARD == 11
+#endif
+#endif
+
 #if !HAVE_OVERRIDE_CONTROL
 #if EXPECT_OVERRIDE_CONTROL
 #error "Expect override control feature"

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

Summary of changes:
 Modules/FindCUDA.cmake                         |   22 ++++++++++-
 Modules/FindCUDA/select_compute_arch.cmake     |   12 +++++-
 Source/cmGeneratorTarget.cxx                   |   10 ++++-
 Source/cmGeneratorTarget.h                     |    5 +++
 Source/cmGlobalGenerator.cxx                   |   47 ++++++++++++------------
 Source/cmMakefile.cxx                          |   12 ++++++
 Source/cmQtAutoGeneratorInitializer.cxx        |   36 ++++++++----------
 Source/cmQtAutoGeneratorInitializer.h          |    1 -
 Tests/CompileFeatures/CMakeLists.txt           |    8 ++++
 Tests/CompileFeatures/genex_test.cpp           |   12 ++++++
 Tests/QtAutogen/CMakeLists.txt                 |    4 ++
 Tests/QtAutogen/objectLibrary/CMakeLists.txt   |   14 +++++++
 Tests/QtAutogen/objectLibrary/a/CMakeLists.txt |    2 +
 Tests/QtAutogen/objectLibrary/a/classa.cpp     |    7 ++++
 Tests/QtAutogen/objectLibrary/a/classa.h       |   23 ++++++++++++
 Tests/QtAutogen/objectLibrary/b/classb.cpp     |    7 ++++
 Tests/QtAutogen/objectLibrary/b/classb.h       |   23 ++++++++++++
 Tests/QtAutogen/objectLibrary/main.cpp         |   13 +++++++
 18 files changed, 208 insertions(+), 50 deletions(-)
 create mode 100644 Tests/QtAutogen/objectLibrary/CMakeLists.txt
 create mode 100644 Tests/QtAutogen/objectLibrary/a/CMakeLists.txt
 create mode 100644 Tests/QtAutogen/objectLibrary/a/classa.cpp
 create mode 100644 Tests/QtAutogen/objectLibrary/a/classa.h
 create mode 100644 Tests/QtAutogen/objectLibrary/b/classb.cpp
 create mode 100644 Tests/QtAutogen/objectLibrary/b/classb.h
 create mode 100644 Tests/QtAutogen/objectLibrary/main.cpp


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits

Reply via email to