[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