[Cmake-commits] CMake branch, master, updated. v3.10.1-805-g46ad721

Kitware Robot kwrobot at kitware.com
Fri Jan 12 09:55:08 EST 2018


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  46ad7215979cd60c00589f6f0abdcff2856069e8 (commit)
       via  af56d7f5999a1ead7916fa6e65ed8db88b1f5ab7 (commit)
       via  dcc606ad47d61ab37e7ab520aafabc9731f088f1 (commit)
       via  d6dfde3cd35b4e1747f5658b585022961aa800b3 (commit)
       via  b0716fbcc5be83ecd082e8b6d101f1137d6f16f8 (commit)
      from  c4d75459dbea2a914b167f09cfa42b0b482aeecd (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=46ad7215979cd60c00589f6f0abdcff2856069e8
commit 46ad7215979cd60c00589f6f0abdcff2856069e8
Merge: af56d7f dcc606a
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Jan 12 14:51:37 2018 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Fri Jan 12 09:51:42 2018 -0500

    Merge topic 'cuda_allow_G_to_device_debugging_on_msvc'
    
    dcc606ad CUDA: Allow -G to control device debuging on MSVC.
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !1619


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=af56d7f5999a1ead7916fa6e65ed8db88b1f5ab7
commit af56d7f5999a1ead7916fa6e65ed8db88b1f5ab7
Merge: c4d7545 d6dfde3c
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Jan 12 14:50:32 2018 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Fri Jan 12 09:50:44 2018 -0500

    Merge topic 'avoid-ambiguous-extension-logic-for-known-paths'
    
    d6dfde3c cmSourceFile: mark known locations as such
    b0716fbc cmSourceFileLocation: allow skipping ambiguous extensions
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !1646


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=dcc606ad47d61ab37e7ab520aafabc9731f088f1
commit dcc606ad47d61ab37e7ab520aafabc9731f088f1
Author:     Robert Maynard <robert.maynard at kitware.com>
AuthorDate: Thu Dec 21 17:30:40 2017 -0500
Commit:     Robert Maynard <robert.maynard at kitware.com>
CommitDate: Thu Jan 11 13:33:00 2018 -0500

    CUDA: Allow -G to control device debuging on MSVC.
    
    Fixes #17551

diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index 9154dca..1faff4e 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -2680,6 +2680,12 @@ bool cmVisualStudio10TargetGenerator::ComputeCudaOptions(
   cudaOptions.Parse(defineFlags.c_str());
   cudaOptions.ParseFinish();
 
+  // If we haven't explicitly enabled GPU debug information
+  // explicitly disable it
+  if (!cudaOptions.HasFlag("GPUDebugInfo")) {
+    cudaOptions.AddFlag("GPUDebugInfo", "false");
+  }
+
   if (this->GeneratorTarget->GetPropertyAsBool("CUDA_SEPARABLE_COMPILATION")) {
     cudaOptions.AddFlag("GenerateRelocatableDeviceCode", "true");
   } else if (this->GeneratorTarget->GetPropertyAsBool(
diff --git a/Tests/CudaOnly/CMakeLists.txt b/Tests/CudaOnly/CMakeLists.txt
index 5f456fc..5ad6e6b 100644
--- a/Tests/CudaOnly/CMakeLists.txt
+++ b/Tests/CudaOnly/CMakeLists.txt
@@ -1,6 +1,7 @@
 
 ADD_TEST_MACRO(CudaOnly.EnableStandard CudaOnlyEnableStandard)
 ADD_TEST_MACRO(CudaOnly.ExportPTX CudaOnlyExportPTX)
+ADD_TEST_MACRO(CudaOnly.GPUDebugFlag CudaOnlyGPUDebugFlag)
+ADD_TEST_MACRO(CudaOnly.ResolveDeviceSymbols CudaOnlyResolveDeviceSymbols)
 ADD_TEST_MACRO(CudaOnly.SeparateCompilation CudaOnlySeparateCompilation)
 ADD_TEST_MACRO(CudaOnly.WithDefs CudaOnlyWithDefs)
-ADD_TEST_MACRO(CudaOnly.ResolveDeviceSymbols CudaOnlyResolveDeviceSymbols)
diff --git a/Tests/CudaOnly/GPUDebugFlag/CMakeLists.txt b/Tests/CudaOnly/GPUDebugFlag/CMakeLists.txt
new file mode 100644
index 0000000..5b96906
--- /dev/null
+++ b/Tests/CudaOnly/GPUDebugFlag/CMakeLists.txt
@@ -0,0 +1,23 @@
+
+cmake_minimum_required(VERSION 3.7)
+project (CudaOnlGPUDebugFlag CUDA)
+
+#Goal for this example:
+#verify that -G enables gpu debug flags
+string(APPEND CMAKE_CUDA_FLAGS " -gencode=arch=compute_30,code=compute_30")
+string(APPEND CMAKE_CUDA_FLAGS " -G")
+set(CMAKE_CUDA_STANDARD 11)
+
+add_executable(CudaOnlyGPUDebugFlag main.cu)
+
+if(CMAKE_CUDA_COMPILER_VERSION VERSION_LESS 9.0.0)
+  #CUDA's __CUDACC_DEBUG__ define was added in 9.0
+  #so if we are below 9.0.0 we will manually add the define so that the test
+  #passes
+  target_compile_definitions(CudaOnlyGPUDebugFlag PRIVATE "__CUDACC_DEBUG__")
+endif()
+
+if(APPLE)
+  # Help the static cuda runtime find the driver (libcuda.dyllib) at runtime.
+  set_property(TARGET CudaOnlyGPUDebugFlag PROPERTY BUILD_RPATH ${CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES})
+endif()
diff --git a/Tests/CudaOnly/GPUDebugFlag/main.cu b/Tests/CudaOnly/GPUDebugFlag/main.cu
new file mode 100644
index 0000000..8b97a3f
--- /dev/null
+++ b/Tests/CudaOnly/GPUDebugFlag/main.cu
@@ -0,0 +1,66 @@
+#include <cuda.h>
+#include <cuda_runtime.h>
+#include <iostream>
+
+static __global__ void debug_kernel(bool* has_debug)
+{
+// Verify using the return code if we have GPU debug flag enabled
+#if defined(__CUDACC__) && defined(__CUDACC_DEBUG__)
+  *has_debug = true;
+#else
+  *has_debug = false;
+#endif
+}
+
+int choose_cuda_device()
+{
+  int nDevices = 0;
+  cudaError_t err = cudaGetDeviceCount(&nDevices);
+  if (err != cudaSuccess) {
+    std::cerr << "Failed to retrieve the number of CUDA enabled devices"
+              << std::endl;
+    return 1;
+  }
+  for (int i = 0; i < nDevices; ++i) {
+    cudaDeviceProp prop;
+    cudaError_t err = cudaGetDeviceProperties(&prop, i);
+    if (err != cudaSuccess) {
+      std::cerr << "Could not retrieve properties from CUDA device " << i
+                << std::endl;
+      return 1;
+    }
+    if (prop.major >= 3) {
+      err = cudaSetDevice(i);
+      if (err != cudaSuccess) {
+        std::cout << "Could not select CUDA device " << i << std::endl;
+      } else {
+        return 0;
+      }
+    }
+  }
+
+  std::cout << "Could not find a CUDA enabled card supporting compute >=3.0"
+            << std::endl;
+
+  return 1;
+}
+
+int main(int argc, char** argv)
+{
+  bool* has_debug;
+  cudaError_t err = cudaMallocManaged(&has_debug, sizeof(bool));
+
+  debug_kernel<<<1, 1>>>(has_debug);
+  err = cudaDeviceSynchronize();
+  if (err != cudaSuccess) {
+    std::cerr << "debug_kernel: kernel launch shouldn't have failed\n"
+              << "reason:\t" << cudaGetErrorString(err) << std::endl;
+    return 1;
+  }
+  if (*has_debug == false) {
+    std::cerr << "debug_kernel: kernel not compiled with device debug"
+              << std::endl;
+    return 1;
+  }
+  return 0;
+}

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d6dfde3cd35b4e1747f5658b585022961aa800b3
commit d6dfde3cd35b4e1747f5658b585022961aa800b3
Author:     Ben Boeckel <ben.boeckel at kitware.com>
AuthorDate: Tue Jan 9 09:09:53 2018 -0500
Commit:     Ben Boeckel <ben.boeckel at kitware.com>
CommitDate: Wed Jan 10 11:21:11 2018 -0500

    cmSourceFile: mark known locations as such
    
    Primarily, this includes:
    
      - the rule files generated for custom targets;
      - source files representing custom targets directly;
      - outputs of custom commands;
      - byproducts of custom commands; and
      - dependencies of custom commands.

diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 5e32e15..b42495c 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -855,7 +855,7 @@ cmSourceFile* cmMakefile::AddCustomCommandToOutput(
     std::string outName = gg->GenerateRuleFile(outputs[0]);
 
     // Check if the rule file already exists.
-    file = this->GetSource(outName);
+    file = this->GetSource(outName, cmSourceFileLocationKind::Known);
     if (file && file->GetCustomCommand() && !replace) {
       // The rule file already exists.
       if (commandLines != file->GetCustomCommand()->GetCommandLines()) {
@@ -868,19 +868,22 @@ cmSourceFile* cmMakefile::AddCustomCommandToOutput(
 
     // Create a cmSourceFile for the rule file.
     if (!file) {
-      file = this->CreateSource(outName, true);
+      file =
+        this->CreateSource(outName, true, cmSourceFileLocationKind::Known);
     }
     file->SetProperty("__CMAKE_RULE", "1");
   }
 
   // Always create the output sources and mark them generated.
   for (std::string const& o : outputs) {
-    if (cmSourceFile* out = this->GetOrCreateSource(o, true)) {
+    if (cmSourceFile* out =
+          this->GetOrCreateSource(o, true, cmSourceFileLocationKind::Known)) {
       out->SetProperty("GENERATED", "1");
     }
   }
   for (std::string const& o : byproducts) {
-    if (cmSourceFile* out = this->GetOrCreateSource(o, true)) {
+    if (cmSourceFile* out =
+          this->GetOrCreateSource(o, true, cmSourceFileLocationKind::Known)) {
       out->SetProperty("GENERATED", "1");
     }
   }
@@ -1092,7 +1095,8 @@ cmTarget* cmMakefile::AddUtilityCommand(
 
     // Always create the byproduct sources and mark them generated.
     for (std::string const& byproduct : byproducts) {
-      if (cmSourceFile* out = this->GetOrCreateSource(byproduct, true)) {
+      if (cmSourceFile* out = this->GetOrCreateSource(
+            byproduct, true, cmSourceFileLocationKind::Known)) {
         out->SetProperty("GENERATED", "1");
       }
     }
diff --git a/Source/cmSourceFile.h b/Source/cmSourceFile.h
index ab40da3..1516d98 100644
--- a/Source/cmSourceFile.h
+++ b/Source/cmSourceFile.h
@@ -7,6 +7,7 @@
 
 #include "cmPropertyMap.h"
 #include "cmSourceFileLocation.h"
+#include "cmSourceFileLocationKind.h"
 
 #include <string>
 #include <vector>
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index 55b2c51..1974be3 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -607,7 +607,8 @@ public:
 
 cmSourceFile* cmTarget::AddSource(const std::string& src)
 {
-  cmSourceFileLocation sfl(this->Makefile, src);
+  cmSourceFileLocation sfl(this->Makefile, src,
+                           cmSourceFileLocationKind::Known);
   if (std::find_if(this->Internal->SourceEntries.begin(),
                    this->Internal->SourceEntries.end(),
                    TargetPropertyEntryFinder(sfl)) ==
@@ -619,7 +620,8 @@ cmSourceFile* cmTarget::AddSource(const std::string& src)
   if (cmGeneratorExpression::Find(src) != std::string::npos) {
     return nullptr;
   }
-  return this->Makefile->GetOrCreateSource(src);
+  return this->Makefile->GetOrCreateSource(src, false,
+                                           cmSourceFileLocationKind::Known);
 }
 
 void cmTarget::AddLinkDirectory(const std::string& d)

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b0716fbcc5be83ecd082e8b6d101f1137d6f16f8
commit b0716fbcc5be83ecd082e8b6d101f1137d6f16f8
Author:     Ben Boeckel <ben.boeckel at kitware.com>
AuthorDate: Tue Jan 9 08:40:48 2018 -0500
Commit:     Ben Boeckel <ben.boeckel at kitware.com>
CommitDate: Wed Jan 10 11:21:11 2018 -0500

    cmSourceFileLocation: allow skipping ambiguous extensions
    
    The ambiguous extension logic is an old behavior that ends up taking
    lots of extra compute cycles to execute. This is triggered by various
    CMake codepaths which pass extension-less paths down when CMake actually
    knows that they are not ambiguous. These codepaths will be indicated in
    upcoming changes.
    
    Various APIs have gained a cmSourceFileLocationKind parameter, but they
    are all optional and default to the existing behavior.

diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt
index 7031d5a..1b46377 100644
--- a/Source/CMakeLists.txt
+++ b/Source/CMakeLists.txt
@@ -327,6 +327,7 @@ set(SRCS
   cmSourceFile.h
   cmSourceFileLocation.cxx
   cmSourceFileLocation.h
+  cmSourceFileLocationKind.h
   cmSourceGroup.cxx
   cmSourceGroup.h
   cmState.cxx
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index d069a5c..5e32e15 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -3132,9 +3132,10 @@ void cmMakefile::SetArgcArgv(const std::vector<std::string>& args)
   }
 }
 
-cmSourceFile* cmMakefile::GetSource(const std::string& sourceName) const
+cmSourceFile* cmMakefile::GetSource(const std::string& sourceName,
+                                    cmSourceFileLocationKind kind) const
 {
-  cmSourceFileLocation sfl(this, sourceName);
+  cmSourceFileLocation sfl(this, sourceName, kind);
   auto name = this->GetCMakeInstance()->StripExtension(sfl.GetName());
 #if defined(_WIN32) || defined(__APPLE__)
   name = cmSystemTools::LowerCase(name);
@@ -3151,9 +3152,10 @@ cmSourceFile* cmMakefile::GetSource(const std::string& sourceName) const
 }
 
 cmSourceFile* cmMakefile::CreateSource(const std::string& sourceName,
-                                       bool generated)
+                                       bool generated,
+                                       cmSourceFileLocationKind kind)
 {
-  cmSourceFile* sf = new cmSourceFile(this, sourceName);
+  cmSourceFile* sf = new cmSourceFile(this, sourceName, kind);
   if (generated) {
     sf->SetProperty("GENERATED", "1");
   }
@@ -3170,12 +3172,13 @@ cmSourceFile* cmMakefile::CreateSource(const std::string& sourceName,
 }
 
 cmSourceFile* cmMakefile::GetOrCreateSource(const std::string& sourceName,
-                                            bool generated)
+                                            bool generated,
+                                            cmSourceFileLocationKind kind)
 {
-  if (cmSourceFile* esf = this->GetSource(sourceName)) {
+  if (cmSourceFile* esf = this->GetSource(sourceName, kind)) {
     return esf;
   }
-  return this->CreateSource(sourceName, generated);
+  return this->CreateSource(sourceName, generated, kind);
 }
 
 void cmMakefile::AddTargetObject(std::string const& tgtName,
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index c92424b..f06e2ff 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -20,6 +20,7 @@
 #include "cmListFileCache.h"
 #include "cmNewLineStyle.h"
 #include "cmPolicies.h"
+#include "cmSourceFileLocationKind.h"
 #include "cmStateSnapshot.h"
 #include "cmStateTypes.h"
 #include "cmTarget.h"
@@ -387,22 +388,26 @@ public:
   /** Get a cmSourceFile pointer for a given source name, if the name is
    *  not found, then a null pointer is returned.
    */
-  cmSourceFile* GetSource(const std::string& sourceName) const;
+  cmSourceFile* GetSource(
+    const std::string& sourceName,
+    cmSourceFileLocationKind kind = cmSourceFileLocationKind::Ambiguous) const;
 
   /** Create the source file and return it. generated
    * indicates if it is a generated file, this is used in determining
    * how to create the source file instance e.g. name
    */
-  cmSourceFile* CreateSource(const std::string& sourceName,
-                             bool generated = false);
+  cmSourceFile* CreateSource(
+    const std::string& sourceName, bool generated = false,
+    cmSourceFileLocationKind kind = cmSourceFileLocationKind::Ambiguous);
 
   /** Get a cmSourceFile pointer for a given source name, if the name is
    *  not found, then create the source file and return it. generated
    * indicates if it is a generated file, this is used in determining
    * how to create the source file instance e.g. name
    */
-  cmSourceFile* GetOrCreateSource(const std::string& sourceName,
-                                  bool generated = false);
+  cmSourceFile* GetOrCreateSource(
+    const std::string& sourceName, bool generated = false,
+    cmSourceFileLocationKind kind = cmSourceFileLocationKind::Ambiguous);
 
   void AddTargetObject(std::string const& tgtName, std::string const& objFile);
 
diff --git a/Source/cmSourceFile.cxx b/Source/cmSourceFile.cxx
index d5475d2..215f974 100644
--- a/Source/cmSourceFile.cxx
+++ b/Source/cmSourceFile.cxx
@@ -12,8 +12,9 @@
 #include "cmSystemTools.h"
 #include "cmake.h"
 
-cmSourceFile::cmSourceFile(cmMakefile* mf, const std::string& name)
-  : Location(mf, name)
+cmSourceFile::cmSourceFile(cmMakefile* mf, const std::string& name,
+                           cmSourceFileLocationKind kind)
+  : Location(mf, name, kind)
 {
   this->CustomCommand = nullptr;
   this->FindFullPathFailed = false;
diff --git a/Source/cmSourceFile.h b/Source/cmSourceFile.h
index da722ea..ab40da3 100644
--- a/Source/cmSourceFile.h
+++ b/Source/cmSourceFile.h
@@ -27,7 +27,9 @@ public:
    * Construct with the makefile storing the source and the initial
    * name referencing it.
    */
-  cmSourceFile(cmMakefile* mf, const std::string& name);
+  cmSourceFile(
+    cmMakefile* mf, const std::string& name,
+    cmSourceFileLocationKind kind = cmSourceFileLocationKind::Ambiguous);
 
   ~cmSourceFile();
 
diff --git a/Source/cmSourceFileLocation.cxx b/Source/cmSourceFileLocation.cxx
index 6add7b3..5558ef3 100644
--- a/Source/cmSourceFileLocation.cxx
+++ b/Source/cmSourceFileLocation.cxx
@@ -27,7 +27,8 @@ cmSourceFileLocation::cmSourceFileLocation(const cmSourceFileLocation& loc)
 }
 
 cmSourceFileLocation::cmSourceFileLocation(cmMakefile const* mf,
-                                           const std::string& name)
+                                           const std::string& name,
+                                           cmSourceFileLocationKind kind)
   : Makefile(mf)
 {
   this->AmbiguousDirectory = !cmSystemTools::FileIsFullPath(name.c_str());
@@ -37,7 +38,12 @@ cmSourceFileLocation::cmSourceFileLocation(cmMakefile const* mf,
     this->Directory = cmSystemTools::CollapseFullPath(this->Directory);
   }
   this->Name = cmSystemTools::GetFilenameName(name);
-  this->UpdateExtension(name);
+  if (kind == cmSourceFileLocationKind::Known) {
+    this->DirectoryUseSource();
+    this->AmbiguousExtension = false;
+  } else {
+    this->UpdateExtension(name);
+  }
 }
 
 void cmSourceFileLocation::Update(cmSourceFileLocation const& loc)
diff --git a/Source/cmSourceFileLocation.h b/Source/cmSourceFileLocation.h
index a6819bd..f325e54 100644
--- a/Source/cmSourceFileLocation.h
+++ b/Source/cmSourceFileLocation.h
@@ -7,6 +7,8 @@
 
 #include <string>
 
+#include "cmSourceFileLocationKind.h"
+
 class cmMakefile;
 
 /** \class cmSourceFileLocation
@@ -26,7 +28,9 @@ public:
    * Construct for a source file created in a given cmMakefile
    * instance with an initial name.
    */
-  cmSourceFileLocation(cmMakefile const* mf, const std::string& name);
+  cmSourceFileLocation(
+    cmMakefile const* mf, const std::string& name,
+    cmSourceFileLocationKind kind = cmSourceFileLocationKind::Ambiguous);
   cmSourceFileLocation();
   cmSourceFileLocation(const cmSourceFileLocation& loc);
 
diff --git a/Source/cmSourceFileLocationKind.h b/Source/cmSourceFileLocationKind.h
new file mode 100644
index 0000000..dd4c6dd
--- /dev/null
+++ b/Source/cmSourceFileLocationKind.h
@@ -0,0 +1,15 @@
+/* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
+   file Copyright.txt or https://cmake.org/licensing for details.  */
+#ifndef cmSourceFileLocationKind_h
+#define cmSourceFileLocationKind_h
+
+enum class cmSourceFileLocationKind
+{
+  // The location is user-specified and may be ambiguous.
+  Ambiguous,
+  // The location is known to be at the given location; do not try to guess at
+  // extensions or absolute path.
+  Known
+};
+
+#endif
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx
index de23b08..55b2c51 100644
--- a/Source/cmTarget.cxx
+++ b/Source/cmTarget.cxx
@@ -23,6 +23,7 @@
 #include "cmProperty.h"
 #include "cmSourceFile.h"
 #include "cmSourceFileLocation.h"
+#include "cmSourceFileLocationKind.h"
 #include "cmState.h"
 #include "cmStateDirectory.h"
 #include "cmStateSnapshot.h"

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

Summary of changes:
 Source/CMakeLists.txt                              |    1 +
 Source/cmMakefile.cxx                              |   31 +++++++++------
 Source/cmMakefile.h                                |   15 ++++---
 Source/cmSourceFile.cxx                            |    5 ++-
 Source/cmSourceFile.h                              |    5 ++-
 Source/cmSourceFileLocation.cxx                    |   10 ++++-
 Source/cmSourceFileLocation.h                      |    6 ++-
 Source/cmSourceFileLocationKind.h                  |   15 +++++++
 Source/cmTarget.cxx                                |    7 +++-
 Source/cmVisualStudio10TargetGenerator.cxx         |    6 +++
 Tests/CudaOnly/CMakeLists.txt                      |    3 +-
 Tests/CudaOnly/GPUDebugFlag/CMakeLists.txt         |   23 +++++++++++
 .../{SeparateCompilation => GPUDebugFlag}/main.cu  |   42 ++++++++++----------
 13 files changed, 121 insertions(+), 48 deletions(-)
 create mode 100644 Source/cmSourceFileLocationKind.h
 create mode 100644 Tests/CudaOnly/GPUDebugFlag/CMakeLists.txt
 copy Tests/CudaOnly/{SeparateCompilation => GPUDebugFlag}/main.cu (58%)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list