[Cmake-commits] CMake branch, master, updated. v3.11.0-512-g5099af0

Kitware Robot kwrobot at kitware.com
Mon Apr 16 09:15:07 EDT 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  5099af044fc737fef6215ccacdce3bb4c9f3d957 (commit)
       via  5e4c5b53e165fe6dd87eb766d3d21889914086dd (commit)
       via  77db645ab8c70fd680c4cc613d4995b632606240 (commit)
       via  64a5b550884aff9db410722a8622cac7648085b3 (commit)
       via  134e795fa968a06e289f1449b6ca4bf4702da03b (commit)
       via  d00306636b4fa1cefb469126734766b5996cbe93 (commit)
       via  0a122393d7cca291e2f695d85b3781593dbd4035 (commit)
       via  8480c2afc09d3e976e4eff69081f41d812fb35cb (commit)
       via  bb66cea6c510b85f8c84e047f9e8a25ef1ada17c (commit)
      from  912c2a6c7f4c0e0f478740254d063f4f9cd2c892 (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=5099af044fc737fef6215ccacdce3bb4c9f3d957
commit 5099af044fc737fef6215ccacdce3bb4c9f3d957
Merge: 5e4c5b5 134e795
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Apr 16 13:13:58 2018 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Mon Apr 16 09:14:05 2018 -0400

    Merge topic 'vs-cuda-pdb'
    
    134e795fa9 VS: Add workaround for CUDA compiler PDB location
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !1960


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5e4c5b53e165fe6dd87eb766d3d21889914086dd
commit 5e4c5b53e165fe6dd87eb766d3d21889914086dd
Merge: 77db645 bb66cea
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Apr 16 13:12:30 2018 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Mon Apr 16 09:12:34 2018 -0400

    Merge topic 'test-ExternalData-dedup'
    
    bb66cea6c5 Tests: Avoid duplicate rules in ExternalData test
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !1958


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=77db645ab8c70fd680c4cc613d4995b632606240
commit 77db645ab8c70fd680c4cc613d4995b632606240
Merge: 64a5b55 d003066
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Apr 16 09:11:27 2018 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Apr 16 09:11:27 2018 -0400

    Merge branch 'release-3.11'


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=64a5b550884aff9db410722a8622cac7648085b3
commit 64a5b550884aff9db410722a8622cac7648085b3
Merge: 912c2a6 0a12239
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Apr 16 13:09:40 2018 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Mon Apr 16 09:09:45 2018 -0400

    Merge topic 'fix-explicit-CMakeLists.txt'
    
    0a122393d7 Merge branch 'backport-fix-explicit-CMakeLists.txt'
    8480c2afc0 Restore support for explicitly referenced CMakeLists.txt sources
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !1959


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=134e795fa968a06e289f1449b6ca4bf4702da03b
commit 134e795fa968a06e289f1449b6ca4bf4702da03b
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Apr 13 12:38:08 2018 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Fri Apr 13 12:56:36 2018 -0400

    VS: Add workaround for CUDA compiler PDB location
    
    The CUDA Toolkit Visual Studio Integration does not honor the
    `ClCompile.ProgramDataBaseFileName` field when telling `nvcc` how to
    invoke `cl`.  Work around this problem by passing `-Xcompiler=-Fd...`
    ourselves through `AdditionalOptions`.
    
    Fixes: #17647

diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index 13af167..3869708 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -2690,6 +2690,20 @@ bool cmVisualStudio10TargetGenerator::ComputeCudaOptions(
     cudaOptions.AppendFlagString("AdditionalOptions", "-x cu");
   }
 
+  // Specify the compiler program database file if configured.
+  std::string pdb = this->GeneratorTarget->GetCompilePDBPath(configName);
+  if (!pdb.empty()) {
+    // CUDA does not have a field for this and does not honor the
+    // ProgramDataBaseFileName field in ClCompile.  Work around this
+    // limitation by creating the directory and passing the flag ourselves.
+    std::string const pdbDir = cmSystemTools::GetFilenamePath(pdb);
+    cmSystemTools::MakeDirectory(pdbDir);
+    pdb = this->ConvertPath(pdb, true);
+    ConvertToWindowsSlash(pdb);
+    std::string const clFd = "-Xcompiler=\"-Fd\\\"" + pdb + "\\\"\"";
+    cudaOptions.AppendFlagString("AdditionalOptions", clFd);
+  }
+
   // CUDA automatically passes the proper '--machine' flag to nvcc
   // for the current architecture, but does not reflect this default
   // in the user-visible IDE settings.  Set it explicitly.
diff --git a/Tests/CudaOnly/CMakeLists.txt b/Tests/CudaOnly/CMakeLists.txt
index 565baca..59f3e84 100644
--- a/Tests/CudaOnly/CMakeLists.txt
+++ b/Tests/CudaOnly/CMakeLists.txt
@@ -6,3 +6,7 @@ ADD_TEST_MACRO(CudaOnly.LinkSystemDeviceLibraries CudaOnlyLinkSystemDeviceLibrar
 ADD_TEST_MACRO(CudaOnly.ResolveDeviceSymbols CudaOnlyResolveDeviceSymbols)
 ADD_TEST_MACRO(CudaOnly.SeparateCompilation CudaOnlySeparateCompilation)
 ADD_TEST_MACRO(CudaOnly.WithDefs CudaOnlyWithDefs)
+
+if(MSVC)
+  ADD_TEST_MACRO(CudaOnly.PDB CudaOnlyPDB)
+endif()
diff --git a/Tests/CudaOnly/PDB/CMakeLists.txt b/Tests/CudaOnly/PDB/CMakeLists.txt
new file mode 100644
index 0000000..34e1e5c
--- /dev/null
+++ b/Tests/CudaOnly/PDB/CMakeLists.txt
@@ -0,0 +1,19 @@
+cmake_minimum_required(VERSION 3.11)
+project (CudaOnlyPDB CUDA)
+
+add_executable(CudaOnlyPDB main.cu)
+set_target_properties(CudaOnlyPDB PROPERTIES
+  PDB_NAME LinkPDBName
+  PDB_OUTPUT_DIRECTORY LinkPDBDir
+  COMPILE_PDB_NAME CompPDBName
+  COMPILE_PDB_OUTPUT_DIRECTORY CompPDBDir
+  )
+
+set(pdbs
+  ${CMAKE_CURRENT_BINARY_DIR}/CompPDBDir/${CMAKE_CFG_INTDIR}/CompPDBName.pdb
+  ${CMAKE_CURRENT_BINARY_DIR}/LinkPDBDir/${CMAKE_CFG_INTDIR}/LinkPDBName.pdb
+  )
+add_custom_command(TARGET CudaOnlyPDB POST_BUILD
+  COMMAND ${CMAKE_COMMAND} -Dconfig=$<CONFIG> "-Dpdbs=${pdbs}"
+                           -P ${CMAKE_CURRENT_SOURCE_DIR}/check_pdbs.cmake
+  )
diff --git a/Tests/CudaOnly/PDB/check_pdbs.cmake b/Tests/CudaOnly/PDB/check_pdbs.cmake
new file mode 100644
index 0000000..5e01ca7
--- /dev/null
+++ b/Tests/CudaOnly/PDB/check_pdbs.cmake
@@ -0,0 +1,10 @@
+if(NOT "${config}" MATCHES "[Dd][Ee][Bb]")
+  return()
+endif()
+foreach(pdb ${pdbs})
+  if(EXISTS "${pdb}")
+    message(STATUS "PDB Exists: ${pdb}")
+  else()
+    message(SEND_ERROR "PDB MISSING:\n ${pdb}")
+  endif()
+endforeach()
diff --git a/Tests/CudaOnly/PDB/main.cu b/Tests/CudaOnly/PDB/main.cu
new file mode 100644
index 0000000..f8b643a
--- /dev/null
+++ b/Tests/CudaOnly/PDB/main.cu
@@ -0,0 +1,4 @@
+int main()
+{
+  return 0;
+}

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0a122393d7cca291e2f695d85b3781593dbd4035
commit 0a122393d7cca291e2f695d85b3781593dbd4035
Merge: 07604a7 8480c2a
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Apr 13 09:46:54 2018 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Fri Apr 13 09:46:54 2018 -0400

    Merge branch 'backport-fix-explicit-CMakeLists.txt'

diff --cc Source/cmVisualStudio10TargetGenerator.cxx
index 13af167,8a9df8f..609ccf2
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@@ -1894,8 -1898,15 +1894,15 @@@ void cmVisualStudio10TargetGenerator::W
    std::vector<cmGeneratorTarget::AllConfigSource> const& sources =
      this->GeneratorTarget->GetAllConfigSources();
  
+   cmSourceFile const* srcCMakeLists =
+     this->LocalGenerator->CreateVCProjBuildRule();
+ 
    for (cmGeneratorTarget::AllConfigSource const& si : sources) {
+     if (si.Source == srcCMakeLists) {
+       // Skip explicit reference to CMakeLists.txt source.
+       continue;
+     }
 -    std::string tool;
 +    const char* tool = nullptr;
      switch (si.Kind) {
        case cmGeneratorTarget::SourceKindAppManifest:
          tool = "AppxManifest";

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bb66cea6c510b85f8c84e047f9e8a25ef1ada17c
commit bb66cea6c510b85f8c84e047f9e8a25ef1ada17c
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Fri Apr 13 08:02:17 2018 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Fri Apr 13 08:06:48 2018 -0400

    Tests: Avoid duplicate rules in ExternalData test
    
    In commit v3.7.0-rc1~158^2 (ExternalData: Tolerate files duplicated
    across multiple targets, 2016-07-07) we added a test case for repeating
    the same data file reference in three different targets in the same
    directory in order to exercise its corresponding fix.  However, we
    re-used the top-level `Data.dat` file which is already produced by
    an unrelated test case.  `ninja` diagnoses the duplicate rule.
    
    Update the test to use a dedicated data file name for the three-times
    repeated case to avoid this conflict.  It still covers the original
    purpose of the test.

diff --git a/Tests/Module/ExternalData/Data5/CMakeLists.txt b/Tests/Module/ExternalData/Data5/CMakeLists.txt
index 13c7fab..ea67f05 100644
--- a/Tests/Module/ExternalData/Data5/CMakeLists.txt
+++ b/Tests/Module/ExternalData/Data5/CMakeLists.txt
@@ -2,21 +2,21 @@
 ExternalData_Add_Test(Data5.A
   NAME Data5Check.A
   COMMAND ${CMAKE_COMMAND}
-    -D Data5=DATA{../Data.dat}
+    -D Data5=DATA{Data5.dat}
     -P ${CMAKE_CURRENT_SOURCE_DIR}/Data5Check.cmake
   )
 ExternalData_Add_Target(Data5.A)
 ExternalData_Add_Test(Data5.B
   NAME Data5Check.B
   COMMAND ${CMAKE_COMMAND}
-    -D Data5=DATA{../Data.dat}
+    -D Data5=DATA{Data5.dat}
     -P ${CMAKE_CURRENT_SOURCE_DIR}/Data5Check.cmake
   )
 ExternalData_Add_Target(Data5.B)
 ExternalData_Add_Test(Data5.C
   NAME Data5Check.C
   COMMAND ${CMAKE_COMMAND}
-    -D Data5=DATA{../Data.dat}
+    -D Data5=DATA{Data5.dat}
     -P ${CMAKE_CURRENT_SOURCE_DIR}/Data5Check.cmake
   )
 ExternalData_Add_Target(Data5.C)
diff --git a/Tests/Module/ExternalData/Data5/Data5.dat.md5 b/Tests/Module/ExternalData/Data5/Data5.dat.md5
new file mode 100644
index 0000000..70e39bd
--- /dev/null
+++ b/Tests/Module/ExternalData/Data5/Data5.dat.md5
@@ -0,0 +1 @@
+8c018830e3efa5caf3c7415028335a57

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

Summary of changes:
 Source/cmGlobalXCodeGenerator.cxx                  |   23 +++++++++++-------
 Source/cmGlobalXCodeGenerator.h                    |    2 ++
 Source/cmLocalVisualStudio7Generator.cxx           |   13 +++++++++-
 Source/cmVisualStudio10TargetGenerator.cxx         |   21 ++++++++++++++++
 Tests/CudaOnly/CMakeLists.txt                      |    4 ++++
 Tests/CudaOnly/PDB/CMakeLists.txt                  |   19 +++++++++++++++
 .../PDB}/check_pdbs.cmake                          |    2 +-
 .../CompilerLauncher => CudaOnly/PDB}/main.cu      |    0
 Tests/Module/ExternalData/Data5/CMakeLists.txt     |    6 ++---
 .../{Data Space.dat.md5 => Data5/Data5.dat.md5}    |    0
 .../VS10Project/ExplicitCMakeLists-check.cmake     |   25 ++++++++++++++++++++
 .../RunCMake/VS10Project/ExplicitCMakeLists.cmake  |    3 +++
 Tests/RunCMake/VS10Project/RunCMakeTest.cmake      |    3 +++
 .../XcodeProject/ExplicitCMakeLists-check.cmake    |   20 ++++++++++++++++
 .../RunCMake/XcodeProject/ExplicitCMakeLists.cmake |    2 ++
 Tests/RunCMake/XcodeProject/RunCMakeTest.cmake     |    2 ++
 16 files changed, 132 insertions(+), 13 deletions(-)
 create mode 100644 Tests/CudaOnly/PDB/CMakeLists.txt
 copy Tests/{PDBDirectoryAndName => CudaOnly/PDB}/check_pdbs.cmake (78%)
 copy Tests/{RunCMake/CompilerLauncher => CudaOnly/PDB}/main.cu (100%)
 copy Tests/Module/ExternalData/{Data Space.dat.md5 => Data5/Data5.dat.md5} (100%)
 create mode 100644 Tests/RunCMake/VS10Project/ExplicitCMakeLists-check.cmake
 create mode 100644 Tests/RunCMake/VS10Project/ExplicitCMakeLists.cmake
 create mode 100644 Tests/RunCMake/XcodeProject/ExplicitCMakeLists-check.cmake
 create mode 100644 Tests/RunCMake/XcodeProject/ExplicitCMakeLists.cmake


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list