[Cmake-commits] CMake branch, master, updated. v3.10.1-837-g84e2a7e
Kitware Robot
kwrobot at kitware.com
Thu Jan 18 09:45:09 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 84e2a7e58a897f9003f02afb2b0feb9c5923a27f (commit)
via d0b00a848f45361fd5e2646938a57fcdf834d38d (commit)
via 1c681f92004effec738545dce53d4a52329b7675 (commit)
via bffdc2e2e1697ffc0ad1fa1f16e9f1092e6a6489 (commit)
via a6e9b9c9e4460f77fc173a3610b167e15f66f4ec (commit)
via c10119df62cf212f9274c6a5c0af609bae4f1b03 (commit)
via c9f66540591303d8ba9bce83865059b79bdc6e01 (commit)
via 2bd232b536b59824053bbf3d6a2ac120f493090f (commit)
via 46abfedb8395f7e72281bd8eb7bd4f118c311140 (commit)
from 2868019b2f93f2eb50de901d8a58ceb9b5790ae5 (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=84e2a7e58a897f9003f02afb2b0feb9c5923a27f
commit 84e2a7e58a897f9003f02afb2b0feb9c5923a27f
Merge: d0b00a8 a6e9b9c
Author: Brad King <brad.king at kitware.com>
AuthorDate: Thu Jan 18 14:43:04 2018 +0000
Commit: Kitware Robot <kwrobot at kitware.com>
CommitDate: Thu Jan 18 09:43:08 2018 -0500
Merge topic 'ctest-libuv-output-decode'
a6e9b9c9 CTest: Fix process output read error cases
c10119df CTest: Fix decoding of MBCS character split by buffering
Acked-by: Kitware Robot <kwrobot at kitware.com>
Merge-request: !1667
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d0b00a848f45361fd5e2646938a57fcdf834d38d
commit d0b00a848f45361fd5e2646938a57fcdf834d38d
Merge: 1c681f9 c9f6654
Author: Brad King <brad.king at kitware.com>
AuthorDate: Thu Jan 18 14:41:49 2018 +0000
Commit: Kitware Robot <kwrobot at kitware.com>
CommitDate: Thu Jan 18 09:42:11 2018 -0500
Merge topic 'FindTCL-thread-suffix'
c9f66540 FindTCL: Find 8.6 libraries with 't' suffix
Acked-by: Kitware Robot <kwrobot at kitware.com>
Merge-request: !1663
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1c681f92004effec738545dce53d4a52329b7675
commit 1c681f92004effec738545dce53d4a52329b7675
Merge: bffdc2e 2bd232b
Author: Brad King <brad.king at kitware.com>
AuthorDate: Thu Jan 18 14:41:01 2018 +0000
Commit: Kitware Robot <kwrobot at kitware.com>
CommitDate: Thu Jan 18 09:41:39 2018 -0500
Merge topic 'fix_ninja_cuda'
2bd232b5 Ninja: Fixes CUDA device link in Windows
Acked-by: Kitware Robot <kwrobot at kitware.com>
Merge-request: !1662
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bffdc2e2e1697ffc0ad1fa1f16e9f1092e6a6489
commit bffdc2e2e1697ffc0ad1fa1f16e9f1092e6a6489
Merge: 2868019 46abfed
Author: Brad King <brad.king at kitware.com>
AuthorDate: Thu Jan 18 14:40:52 2018 +0000
Commit: Kitware Robot <kwrobot at kitware.com>
CommitDate: Thu Jan 18 09:41:01 2018 -0500
Merge topic 'msvc_cuda_8_explicitly_specify_cuda_language'
46abfedb CUDA: MSVC will now state files are cuda files when needed
Acked-by: Kitware Robot <kwrobot at kitware.com>
Merge-request: !1658
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a6e9b9c9e4460f77fc173a3610b167e15f66f4ec
commit a6e9b9c9e4460f77fc173a3610b167e15f66f4ec
Author: Brad King <brad.king at kitware.com>
AuthorDate: Wed Jan 17 11:17:28 2018 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Wed Jan 17 11:20:24 2018 -0500
CTest: Fix process output read error cases
The libuv documentation states that the stream read callback may
be called with `nread == 0` for EAGAIN. Handle this gracefully.
It also states that the callee is responsible for closing the
stream on error. Always close the stream for `nread < 0`.
diff --git a/Source/CTest/cmProcess.cxx b/Source/CTest/cmProcess.cxx
index 4454715..e332a77 100644
--- a/Source/CTest/cmProcess.cxx
+++ b/Source/CTest/cmProcess.cxx
@@ -244,6 +244,10 @@ void cmProcess::OnRead(ssize_t nread, const uv_buf_t* buf)
return;
}
+ if (nread == 0) {
+ return;
+ }
+
// The process will provide no more data.
if (nread != UV_EOF) {
auto error = static_cast<int>(nread);
@@ -257,6 +261,7 @@ void cmProcess::OnRead(ssize_t nread, const uv_buf_t* buf)
}
this->ReadHandleClosed = true;
+ this->PipeReader.reset();
if (this->ProcessHandleClosed) {
uv_timer_stop(this->Timer);
this->Runner.FinalizeTest();
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c10119df62cf212f9274c6a5c0af609bae4f1b03
commit c10119df62cf212f9274c6a5c0af609bae4f1b03
Author: Brad King <brad.king at kitware.com>
AuthorDate: Tue Jan 16 13:59:55 2018 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Wed Jan 17 10:41:51 2018 -0500
CTest: Fix decoding of MBCS character split by buffering
Use a single `cmProcessOutput` instance persistently to decode
all output of a test process so that partial character bytes
can be buffered.
diff --git a/Source/CTest/cmProcess.cxx b/Source/CTest/cmProcess.cxx
index c8806a7..4454715 100644
--- a/Source/CTest/cmProcess.cxx
+++ b/Source/CTest/cmProcess.cxx
@@ -5,19 +5,19 @@
#include "cmCTest.h"
#include "cmCTestRunTest.h"
#include "cmCTestTestHandler.h"
-#include "cmProcessOutput.h"
#include "cmsys/Process.h"
#include <algorithm>
#include <fcntl.h>
#include <iostream>
#include <signal.h>
-#include <stdint.h>
#include <string>
#if !defined(_WIN32)
#include <unistd.h>
#endif
+#define CM_PROCESS_BUF_SIZE 65536
+
#if defined(_WIN32) && !defined(__CYGWIN__)
#include <io.h>
@@ -60,6 +60,7 @@ static int cmProcessGetPipes(int* fds)
cmProcess::cmProcess(cmCTestRunTest& runner)
: Runner(runner)
+ , Conv(cmProcessOutput::UTF8, CM_PROCESS_BUF_SIZE)
{
this->Timeout = std::chrono::duration<double>::zero();
this->TotalTime = std::chrono::duration<double>::zero();
@@ -232,9 +233,7 @@ void cmProcess::OnRead(ssize_t nread, const uv_buf_t* buf)
std::string line;
if (nread > 0) {
std::string strdata;
- cmProcessOutput processOutput(cmProcessOutput::UTF8,
- static_cast<unsigned int>(buf->len));
- processOutput.DecodeText(buf->base, static_cast<size_t>(nread), strdata);
+ this->Conv.DecodeText(buf->base, static_cast<size_t>(nread), strdata);
this->Output.insert(this->Output.end(), strdata.begin(), strdata.end());
while (this->Output.GetLine(line)) {
@@ -271,10 +270,10 @@ void cmProcess::OnAllocateCB(uv_handle_t* handle, size_t suggested_size,
self->OnAllocate(suggested_size, buf);
}
-void cmProcess::OnAllocate(size_t suggested_size, uv_buf_t* buf)
+void cmProcess::OnAllocate(size_t /*suggested_size*/, uv_buf_t* buf)
{
- if (this->Buf.size() < suggested_size) {
- this->Buf.resize(suggested_size);
+ if (this->Buf.size() != CM_PROCESS_BUF_SIZE) {
+ this->Buf.resize(CM_PROCESS_BUF_SIZE);
}
*buf =
diff --git a/Source/CTest/cmProcess.h b/Source/CTest/cmProcess.h
index 9250896..633be24 100644
--- a/Source/CTest/cmProcess.h
+++ b/Source/CTest/cmProcess.h
@@ -5,13 +5,14 @@
#include "cmConfigure.h" // IWYU pragma: keep
+#include "cmProcessOutput.h"
#include "cmUVHandlePtr.h"
#include "cm_uv.h"
#include <chrono>
#include <stddef.h>
+#include <stdint.h>
#include <string>
-#include <sys/types.h>
#include <vector>
class cmCTestRunTest;
@@ -80,6 +81,7 @@ private:
std::vector<char> Buf;
cmCTestRunTest& Runner;
+ cmProcessOutput Conv;
int Signal = 0;
cmProcess::State ProcessState = cmProcess::State::Starting;
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c9f66540591303d8ba9bce83865059b79bdc6e01
commit c9f66540591303d8ba9bce83865059b79bdc6e01
Author: lorenz <sppedflyer at gmail.com>
AuthorDate: Mon Jan 15 15:36:15 2018 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Tue Jan 16 09:52:24 2018 -0500
FindTCL: Find 8.6 libraries with 't' suffix
Building Tcl with `makefile.vc` produces library files with a `t`
suffix to indicate threading support. Since threading support is
on by default in 8.6 anyway, the libraries should be compatible.
Issue: https://github.com/conda-forge/tk-feedstock/issues/12
diff --git a/Modules/FindTCL.cmake b/Modules/FindTCL.cmake
index 80779b3..19eb932 100644
--- a/Modules/FindTCL.cmake
+++ b/Modules/FindTCL.cmake
@@ -116,7 +116,7 @@ find_library(TCL_LIBRARY
NAMES
tcl
tcl${TCL_LIBRARY_VERSION} tcl${TCL_TCLSH_VERSION} tcl${TK_WISH_VERSION}
- tcl86 tcl8.6
+ tcl86 tcl8.6 tcl86t tcl8.6t
tcl85 tcl8.5
tcl84 tcl8.4
tcl83 tcl8.3
@@ -130,7 +130,7 @@ find_library(TK_LIBRARY
NAMES
tk
tk${TK_LIBRARY_VERSION} tk${TCL_TCLSH_VERSION} tk${TK_WISH_VERSION}
- tk86 tk8.6
+ tk86 tk8.6 tk86t tk8.6t
tk85 tk8.5
tk84 tk8.4
tk83 tk8.3
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2bd232b536b59824053bbf3d6a2ac120f493090f
commit 2bd232b536b59824053bbf3d6a2ac120f493090f
Author: Francisco Facioni <francisco.facioni at hawkeyeinnovations.com>
AuthorDate: Mon Jan 15 10:58:52 2018 +0000
Commit: Francisco Facioni <francisco.facioni at hawkeyeinnovations.com>
CommitDate: Mon Jan 15 11:04:37 2018 +0000
Ninja: Fixes CUDA device link in Windows
nvcc in linker mode doesn't support response files
Fixes: #17644
diff --git a/Source/cmNinjaNormalTargetGenerator.cxx b/Source/cmNinjaNormalTargetGenerator.cxx
index e0cc35a..594e0f5 100644
--- a/Source/cmNinjaNormalTargetGenerator.cxx
+++ b/Source/cmNinjaNormalTargetGenerator.cxx
@@ -760,7 +760,7 @@ void cmNinjaNormalTargetGenerator::WriteDeviceLinkStatement()
/*implicitOuts=*/cmNinjaDeps(), explicitDeps,
implicitDeps, orderOnlyDeps, vars, rspfile,
commandLineLengthLimit, &usedResponseFile);
- this->WriteDeviceLinkRule(usedResponseFile);
+ this->WriteDeviceLinkRule(false);
}
void cmNinjaNormalTargetGenerator::WriteLinkStatement()
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=46abfedb8395f7e72281bd8eb7bd4f118c311140
commit 46abfedb8395f7e72281bd8eb7bd4f118c311140
Author: Robert Maynard <robert.maynard at kitware.com>
AuthorDate: Thu Jan 11 17:15:31 2018 -0500
Commit: Robert Maynard <robert.maynard at kitware.com>
CommitDate: Fri Jan 12 15:17:03 2018 -0500
CUDA: MSVC will now state files are cuda files when needed
The MSVC CUDA build customizations before CUDA 9 would not explicitly
add the -x cu option when building. This caused .cpp and .c files
invoked with CudaCompile to be compiled as host code and not
cuda. Now when we detect CUDA < 9 we will explicitly add this
option to correct this bug.
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index ee9db43..3a008cd 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -2646,6 +2646,7 @@ bool cmVisualStudio10TargetGenerator::ComputeCudaOptions(
cudaOptions.AddFlag("GPUDebugInfo", "false");
}
+ bool notPtx = true;
if (this->GeneratorTarget->GetPropertyAsBool("CUDA_SEPARABLE_COMPILATION")) {
cudaOptions.AddFlag("GenerateRelocatableDeviceCode", "true");
} else if (this->GeneratorTarget->GetPropertyAsBool(
@@ -2654,6 +2655,16 @@ bool cmVisualStudio10TargetGenerator::ComputeCudaOptions(
// We drop the %(Extension) component as CMake expects all PTX files
// to not have the source file extension at all
cudaOptions.AddFlag("CompileOut", "$(IntDir)%(Filename).ptx");
+ notPtx = false;
+ }
+
+ if (notPtx &&
+ cmSystemTools::VersionCompareGreaterEq(
+ "8.0", this->GlobalGenerator->GetPlatformToolsetCudaString())) {
+ // Explicitly state that we want this file to be treated as a
+ // CUDA file no matter what the file extensions is
+ // This is only needed for < CUDA 9
+ cudaOptions.AppendFlagString("AdditionalOptions", "-x cu");
}
// CUDA automatically passes the proper '--machine' flag to nvcc
diff --git a/Tests/CudaOnly/WithDefs/CMakeLists.txt b/Tests/CudaOnly/WithDefs/CMakeLists.txt
index 5bd93a4..308c089 100644
--- a/Tests/CudaOnly/WithDefs/CMakeLists.txt
+++ b/Tests/CudaOnly/WithDefs/CMakeLists.txt
@@ -21,14 +21,8 @@ set(release_compile_defs DEFREL)
#this verifies we can pass things such as '_','(' to nvcc
add_definitions("-DPACKED_DEFINE=__attribute__((packed))")
-if(CMAKE_GENERATOR MATCHES "Visual Studio")
- # CUDA MSBuild rules do not pass '-x cu' to nvcc
- set(main main_for_vs.cu)
-else()
- set(main main.notcu)
- set_source_files_properties(main.notcu PROPERTIES LANGUAGE CUDA)
-endif()
-add_executable(CudaOnlyWithDefs ${main})
+add_executable(CudaOnlyWithDefs main.notcu)
+set_source_files_properties(main.notcu PROPERTIES LANGUAGE CUDA)
target_compile_options(CudaOnlyWithDefs
PRIVATE
diff --git a/Tests/CudaOnly/WithDefs/main_for_vs.cu b/Tests/CudaOnly/WithDefs/main_for_vs.cu
deleted file mode 100644
index 56078e7..0000000
--- a/Tests/CudaOnly/WithDefs/main_for_vs.cu
+++ /dev/null
@@ -1 +0,0 @@
-#include "main.notcu"
-----------------------------------------------------------------------
Summary of changes:
Modules/FindTCL.cmake | 4 ++--
Source/CTest/cmProcess.cxx | 20 ++++++++++++--------
Source/CTest/cmProcess.h | 4 +++-
Source/cmNinjaNormalTargetGenerator.cxx | 2 +-
Source/cmVisualStudio10TargetGenerator.cxx | 11 +++++++++++
Tests/CudaOnly/WithDefs/CMakeLists.txt | 10 ++--------
Tests/CudaOnly/WithDefs/main_for_vs.cu | 1 -
7 files changed, 31 insertions(+), 21 deletions(-)
delete mode 100644 Tests/CudaOnly/WithDefs/main_for_vs.cu
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list