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  186ca170da51d64a50bb15bfd067ca9b4c987327 (commit)
       via  6f242acfcb72881d184f5b2468fd4ddcadce01d8 (commit)
       via  9713154cf609691dfe9b8484c16cc034ea52d799 (commit)
       via  cd285b749615c64e72ddadda0ba014c91829529c (commit)
       via  c85524a94ace9ee400229fede179a605b1c144e3 (commit)
       via  c474fb2777ea3e675237fccf23f64fe37371a5b0 (commit)
       via  c846dbf89ee5b11a74dceb1c19fd7472eb8b075d (commit)
       via  6ad699358b6b421da6c49cf540b30eb8b0a3a996 (commit)
      from  323c4fb989e0259c733f5a34044c693667a31842 (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=186ca170da51d64a50bb15bfd067ca9b4c987327
commit 186ca170da51d64a50bb15bfd067ca9b4c987327
Merge: 6f242ac c85524a
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Fri May 3 15:48:33 2019 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Fri May 3 11:48:46 2019 -0400

    Merge topic 'std-pipes-always'
    
    c85524a94a Ensure stdin, stdout, and stderr pipes are always open
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Acked-by: Kyle Edwards <kyle.edwa...@kitware.com>
    Merge-request: !3282


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6f242acfcb72881d184f5b2468fd4ddcadce01d8
commit 6f242acfcb72881d184f5b2468fd4ddcadce01d8
Merge: 9713154 c474fb2
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Fri May 3 15:46:05 2019 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Fri May 3 11:46:25 2019 -0400

    Merge topic 'cpack-ifw-stylesheet'
    
    c474fb2777 CPack/IFW: Add StyleSheet field
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !3270


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9713154cf609691dfe9b8484c16cc034ea52d799
commit 9713154cf609691dfe9b8484c16cc034ea52d799
Merge: cd285b7 6ad6993
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Fri May 3 15:45:22 2019 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Fri May 3 11:45:32 2019 -0400

    Merge topic 'jobs-positive-value'
    
    6ad699358b cmake: --build -j <jobs> should not accept 0.
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !3255


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cd285b749615c64e72ddadda0ba014c91829529c
commit cd285b749615c64e72ddadda0ba014c91829529c
Merge: 323c4fb c846dbf
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Fri May 3 15:43:42 2019 +0000
Commit:     Kitware Robot <kwro...@kitware.com>
CommitDate: Fri May 3 11:43:50 2019 -0400

    Merge topic 'DetermineCompilerId-versioned-llvm-for-vs'
    
    c846dbf89e CMakeDetermineCompilerId: Support versioned LLVM for Visual 
Studio.
    
    Acked-by: Kitware Robot <kwro...@kitware.com>
    Merge-request: !3281


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c85524a94ace9ee400229fede179a605b1c144e3
commit c85524a94ace9ee400229fede179a605b1c144e3
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Thu May 2 11:11:28 2019 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Thu May 2 14:34:58 2019 -0400

    Ensure stdin, stdout, and stderr pipes are always open
    
    On non-Windows platforms libuv assumes that file descriptors 0-2 are
    always used for standard pipes and never for anything else.  Otherwise,
    libuv may re-use one of these descriptors and then fail an assertion
    when closing it.  Similarly, On Windows platforms our ConsoleBuf
    implementation assumes that the standard handles are always open.
    
    If CMake is run with any standard pipes closed, open them with
    `/dev/null` or `NUL` to satisfy these assumptions.
    
    Fixes: #19219

diff --git a/Source/CPack/cpack.cxx b/Source/CPack/cpack.cxx
index 3ceb824..58b9e70 100644
--- a/Source/CPack/cpack.cxx
+++ b/Source/CPack/cpack.cxx
@@ -98,6 +98,7 @@ static void cpackProgressCallback(const std::string& message, 
float /*unused*/)
 // this is CPack.
 int main(int argc, char const* const* argv)
 {
+  cmSystemTools::EnsureStdPipes();
 #if defined(_WIN32) && defined(CMAKE_BUILD_WITH_CMAKE)
   // Replace streambuf so we can output Unicode to console
   cmsys::ConsoleBuf::Manager consoleOut(std::cout);
diff --git a/Source/CursesDialog/ccmake.cxx b/Source/CursesDialog/ccmake.cxx
index 745c6bb..7caed0c 100644
--- a/Source/CursesDialog/ccmake.cxx
+++ b/Source/CursesDialog/ccmake.cxx
@@ -67,6 +67,7 @@ void onsig(int /*unused*/)
 
 int main(int argc, char const* const* argv)
 {
+  cmSystemTools::EnsureStdPipes();
   cmsys::Encoding::CommandLineArguments encoding_args =
     cmsys::Encoding::CommandLineArguments::Main(argc, argv);
   argc = encoding_args.argc();
diff --git a/Source/QtDialog/CMakeSetup.cxx b/Source/QtDialog/CMakeSetup.cxx
index 8d9a50c..c9ebba8 100644
--- a/Source/QtDialog/CMakeSetup.cxx
+++ b/Source/QtDialog/CMakeSetup.cxx
@@ -55,6 +55,7 @@ Q_IMPORT_PLUGIN(QWindowsVistaStylePlugin);
 
 int main(int argc, char** argv)
 {
+  cmSystemTools::EnsureStdPipes();
   cmsys::Encoding::CommandLineArguments encoding_args =
     cmsys::Encoding::CommandLineArguments::Main(argc, argv);
   int argc2 = encoding_args.argc();
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx
index bc853b7..17ed3f6 100644
--- a/Source/cmSystemTools.cxx
+++ b/Source/cmSystemTools.cxx
@@ -43,6 +43,7 @@
 #include <assert.h>
 #include <ctype.h>
 #include <errno.h>
+#include <fcntl.h>
 #include <iostream>
 #include <sstream>
 #include <stdio.h>
@@ -56,8 +57,6 @@
 #  include <windows.h>
 // include wincrypt.h after windows.h
 #  include <wincrypt.h>
-
-#  include <fcntl.h> /* _O_TEXT */
 #else
 #  include <sys/time.h>
 #  include <unistd.h>
@@ -2007,6 +2006,71 @@ int cmSystemTools::WaitForLine(cmsysProcess* process, 
std::string& line,
   }
 }
 
+#ifdef _WIN32
+static void EnsureStdPipe(DWORD fd)
+{
+  if (GetStdHandle(fd) != INVALID_HANDLE_VALUE) {
+    return;
+  }
+  SECURITY_ATTRIBUTES sa;
+  sa.nLength = sizeof(sa);
+  sa.lpSecurityDescriptor = NULL;
+  sa.bInheritHandle = TRUE;
+
+  HANDLE h = CreateFileW(
+    L"NUL",
+    fd == STD_INPUT_HANDLE ? FILE_GENERIC_READ
+                           : FILE_GENERIC_WRITE | FILE_READ_ATTRIBUTES,
+    FILE_SHARE_READ | FILE_SHARE_WRITE, &sa, OPEN_EXISTING, 0, NULL);
+
+  if (h == INVALID_HANDLE_VALUE) {
+    LPSTR message = NULL;
+    DWORD size = FormatMessageA(
+      FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM |
+        FORMAT_MESSAGE_IGNORE_INSERTS,
+      NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
+      (LPSTR)&message, 0, NULL);
+    std::string msg = std::string(message, size);
+    LocalFree(message);
+    std::cerr << "failed to open NUL for missing stdio pipe: " << msg;
+    abort();
+  }
+
+  SetStdHandle(fd, h);
+}
+
+void cmSystemTools::EnsureStdPipes()
+{
+  EnsureStdPipe(STD_INPUT_HANDLE);
+  EnsureStdPipe(STD_OUTPUT_HANDLE);
+  EnsureStdPipe(STD_ERROR_HANDLE);
+}
+#else
+static void EnsureStdPipe(int fd)
+{
+  if (fcntl(fd, F_GETFD) != -1 || errno != EBADF) {
+    return;
+  }
+
+  int f = open("/dev/null", fd == STDIN_FILENO ? O_RDONLY : O_WRONLY);
+  if (f == -1) {
+    perror("failed to open /dev/null for missing stdio pipe");
+    abort();
+  }
+  if (f != fd) {
+    dup2(f, fd);
+    close(f);
+  }
+}
+
+void cmSystemTools::EnsureStdPipes()
+{
+  EnsureStdPipe(STDIN_FILENO);
+  EnsureStdPipe(STDOUT_FILENO);
+  EnsureStdPipe(STDERR_FILENO);
+}
+#endif
+
 void cmSystemTools::DoNotInheritStdPipes()
 {
 #ifdef _WIN32
diff --git a/Source/cmSystemTools.h b/Source/cmSystemTools.h
index 05bd351..8a87a37 100644
--- a/Source/cmSystemTools.h
+++ b/Source/cmSystemTools.h
@@ -435,6 +435,8 @@ public:
   // not get stuck waiting for all the output on the pipes.
   static void DoNotInheritStdPipes();
 
+  static void EnsureStdPipes();
+
   /** Copy the file create/access/modify times from the file named by
       the first argument to that named by the second.  */
   static bool CopyFileTime(const std::string& fromFile,
diff --git a/Source/cmakemain.cxx b/Source/cmakemain.cxx
index 5631d10..b137327 100644
--- a/Source/cmakemain.cxx
+++ b/Source/cmakemain.cxx
@@ -183,6 +183,7 @@ static void cmakemainProgressCallback(const std::string& m, 
float prog,
 
 int main(int ac, char const* const* av)
 {
+  cmSystemTools::EnsureStdPipes();
 #if defined(_WIN32) && defined(CMAKE_BUILD_WITH_CMAKE)
   // Replace streambuf so we can output Unicode to console
   cmsys::ConsoleBuf::Manager consoleOut(std::cout);
diff --git a/Source/ctest.cxx b/Source/ctest.cxx
index 461021b..3b3630f 100644
--- a/Source/ctest.cxx
+++ b/Source/ctest.cxx
@@ -143,6 +143,7 @@ static const char* cmDocumentationOptions[][2] = {
 // this is a test driver program for cmCTest.
 int main(int argc, char const* const* argv)
 {
+  cmSystemTools::EnsureStdPipes();
 #if defined(_WIN32) && defined(CMAKE_BUILD_WITH_CMAKE)
   // Replace streambuf so we can output Unicode to console
   cmsys::ConsoleBuf::Manager consoleOut(std::cout);
diff --git a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake 
b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
index ea749ea..1e74bb0 100644
--- a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
@@ -443,4 +443,8 @@ function(reject_fifo)
 endfunction()
 if(CMAKE_HOST_UNIX AND NOT CMAKE_SYSTEM_NAME STREQUAL "CYGWIN")
   reject_fifo()
+  run_cmake_command(closed_stdin  sh -c "\"${CMAKE_COMMAND}\" --version <&-")
+  run_cmake_command(closed_stdout sh -c "\"${CMAKE_COMMAND}\" --version >&-")
+  run_cmake_command(closed_stderr sh -c "\"${CMAKE_COMMAND}\" --version 2>&-")
+  run_cmake_command(closed_stdall sh -c "\"${CMAKE_COMMAND}\" --version <&- 
>&- 2>&-")
 endif()

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c474fb2777ea3e675237fccf23f64fe37371a5b0
commit c474fb2777ea3e675237fccf23f64fe37371a5b0
Author:     Zaytsev Yuriy <gh...@mail.ru>
AuthorDate: Mon Apr 29 22:08:08 2019 +0300
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Thu May 2 13:01:31 2019 -0400

    CPack/IFW: Add StyleSheet field

diff --git a/Help/cpack_gen/ifw.rst b/Help/cpack_gen/ifw.rst
index e43b1d6..feccd3d 100644
--- a/Help/cpack_gen/ifw.rst
+++ b/Help/cpack_gen/ifw.rst
@@ -135,6 +135,10 @@ Package
 
  Wizard style to be used ("Modern", "Mac", "Aero" or "Classic").
 
+.. variable:: CPACK_IFW_PACKAGE_STYLE_SHEET
+
+ Filename for a stylesheet.
+
 .. variable:: CPACK_IFW_PACKAGE_WIZARD_DEFAULT_WIDTH
 
  Default width of the wizard in pixels. Setting a banner image will override 
this.
diff --git a/Help/release/dev/cpackifw-package-style-sheet.rst 
b/Help/release/dev/cpackifw-package-style-sheet.rst
new file mode 100644
index 0000000..cf99244
--- /dev/null
+++ b/Help/release/dev/cpackifw-package-style-sheet.rst
@@ -0,0 +1,6 @@
+cpackifw-package-style-sheet
+----------------------------
+
+* The :cpack_gen:`CPack IFW Generator` gained a new
+  :variable:`CPACK_IFW_PACKAGE_STYLE_SHEET` variable to customize the
+  installer stylesheet.
diff --git a/Source/CPack/IFW/cmCPackIFWInstaller.cxx 
b/Source/CPack/IFW/cmCPackIFWInstaller.cxx
index 01e3ea4..a075a17 100644
--- a/Source/CPack/IFW/cmCPackIFWInstaller.cxx
+++ b/Source/CPack/IFW/cmCPackIFWInstaller.cxx
@@ -152,6 +152,15 @@ void cmCPackIFWInstaller::ConfigureFromOptions()
     }
   }
 
+  // StyleSheet
+  if (const char* option = this->GetOption("CPACK_IFW_PACKAGE_STYLE_SHEET")) {
+    if (cmSystemTools::FileExists(option)) {
+      this->StyleSheet = option;
+    } else {
+      this->printSkippedOptionWarning("CPACK_IFW_PACKAGE_STYLE_SHEET", option);
+    }
+  }
+
   // WizardDefaultWidth
   if (const char* option =
         this->GetOption("CPACK_IFW_PACKAGE_WIZARD_DEFAULT_WIDTH")) {
@@ -381,6 +390,14 @@ void cmCPackIFWInstaller::GenerateInstallerFile()
     xout.Element("WizardStyle", this->WizardStyle);
   }
 
+  // Stylesheet
+  if (!this->StyleSheet.empty()) {
+    std::string name = cmSystemTools::GetFilenameName(this->StyleSheet);
+    std::string path = this->Directory + "/config/" + name;
+    cmsys::SystemTools::CopyFileIfDifferent(this->StyleSheet, path);
+    xout.Element("StyleSheet", name);
+  }
+
   // WizardDefaultWidth
   if (!this->WizardDefaultWidth.empty()) {
     xout.Element("WizardDefaultWidth", this->WizardDefaultWidth);
diff --git a/Source/CPack/IFW/cmCPackIFWInstaller.h 
b/Source/CPack/IFW/cmCPackIFWInstaller.h
index 37ad339..be51fa5 100644
--- a/Source/CPack/IFW/cmCPackIFWInstaller.h
+++ b/Source/CPack/IFW/cmCPackIFWInstaller.h
@@ -72,6 +72,9 @@ public:
   /// Wizard style name
   std::string WizardStyle;
 
+  /// Filename for a style sheet
+  std::string StyleSheet;
+
   /// Wizard width
   std::string WizardDefaultWidth;
 

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c846dbf89ee5b11a74dceb1c19fd7472eb8b075d
commit c846dbf89ee5b11a74dceb1c19fd7472eb8b075d
Author:     Zufu Liu <zufu...@gmail.com>
AuthorDate: Thu May 2 10:45:53 2019 +0800
Commit:     Zufu Liu <zufu...@gmail.com>
CommitDate: Thu May 2 10:57:37 2019 +0800

    CMakeDetermineCompilerId: Support versioned LLVM for Visual Studio.
    
    Supports versioned LLVM toolsets like LLVM_v142, LLVM_v141,
    LLVM_v141_xp, etc. for Visual Studio (2010 and later).
    
    The name for versioned LLVM toolsets has "LLVM_" prefix
    plus MSVC toolset name (i.e. v142, v141, v141_xp, etc.).
    
    Fixes: #19203

diff --git a/Modules/CMakeDetermineCompilerId.cmake 
b/Modules/CMakeDetermineCompilerId.cmake
index c1c9982..746a806 100644
--- a/Modules/CMakeDetermineCompilerId.cmake
+++ b/Modules/CMakeDetermineCompilerId.cmake
@@ -189,7 +189,7 @@ Id flags: ${testflags} 
${CMAKE_${lang}_COMPILER_ID_FLAGS_ALWAYS}
     set(id_platform ${CMAKE_VS_PLATFORM_NAME})
     set(id_lang "${lang}")
     set(id_PostBuildEvent_Command "")
-    if(CMAKE_VS_PLATFORM_TOOLSET MATCHES "^[Ll][Ll][Vv][Mm]$")
+    if(CMAKE_VS_PLATFORM_TOOLSET MATCHES "^[Ll][Ll][Vv][Mm](_v[0-9]+(_xp)?)?$")
       set(id_cl_var "ClangClExecutable")
     elseif(CMAKE_VS_PLATFORM_TOOLSET MATCHES "v[0-9]+_clang_.*")
       set(id_cl clang.exe)

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6ad699358b6b421da6c49cf540b30eb8b0a3a996
commit 6ad699358b6b421da6c49cf540b30eb8b0a3a996
Author:     Fred Baksik <froda...@gmail.com>
AuthorDate: Mon Apr 22 11:01:24 2019 -0400
Commit:     Fred Baksik <froda...@gmail.com>
CommitDate: Wed May 1 09:15:51 2019 -0400

    cmake: --build -j <jobs> should not accept 0.
    
    Fixes #19059

diff --git a/Help/manual/cmake.1.rst b/Help/manual/cmake.1.rst
index 5b88694..ba47885 100644
--- a/Help/manual/cmake.1.rst
+++ b/Help/manual/cmake.1.rst
@@ -280,6 +280,9 @@ following options:
   The :envvar:`CMAKE_BUILD_PARALLEL_LEVEL` environment variable, if set,
   specifies a default parallel level when this option is not given.
 
+  Some native build tools always build in parallel.  The use of ``<jobs>``
+  value of ``1`` can be used to limit to a single job.
+
 ``--target <tgt>..., -t <tgt>...``
   Build ``<tgt>`` instead of default targets.  May be specified multiple times.
 
diff --git a/Source/cmakemain.cxx b/Source/cmakemain.cxx
index d70c9d9..d96d956 100644
--- a/Source/cmakemain.cxx
+++ b/Source/cmakemain.cxx
@@ -24,6 +24,7 @@
 #endif
 
 #include <cassert>
+#include <climits>
 #include <ctype.h>
 #include <iostream>
 #include <string.h>
@@ -69,7 +70,7 @@ static const char* cmDocumentationUsageNote[][2] = {
     "  --config <cfg> = For multi-configuration tools, choose <cfg>.\n"       \
     "  --clean-first  = Build target 'clean' first, then build.\n"            \
     "                   (To clean only, use --target 'clean'.)\n"             \
-    " --verbose, -v   = Enable verbose output - if supported - including\n"   \
+    "  --verbose, -v  = Enable verbose output - if supported - including\n"   \
     "                   the build commands to be executed. \n"                \
     "  --             = Pass remaining options to the native tool.\n"
 
@@ -393,7 +394,14 @@ int extract_job_number(int& index, char const* current, 
char const* next,
   if (jobString.empty()) {
     jobs = cmake::DEFAULT_BUILD_PARALLEL_LEVEL;
   } else if (cmSystemTools::StringToULong(jobString.c_str(), &numJobs)) {
-    jobs = int(numJobs);
+    if (numJobs == 0) {
+      std::cerr
+        << "The <jobs> value requires a positive integer argument.\n\n";
+    } else if (numJobs > INT_MAX) {
+      std::cerr << "The <jobs> value is too large.\n\n";
+    } else {
+      jobs = int(numJobs);
+    }
   } else {
     std::cerr << "'" << command.substr(0, len_of_flag) << "' invalid number '"
               << jobString << "' given.\n\n";
@@ -505,7 +513,17 @@ static int do_build(int ac, char const* const* av)
       } else {
         unsigned long numJobs = 0;
         if (cmSystemTools::StringToULong(parallel.c_str(), &numJobs)) {
-          jobs = int(numJobs);
+          if (numJobs == 0) {
+            std::cerr << "The CMAKE_BUILD_PARALLEL_LEVEL environment variable "
+                         "requires a positive integer argument.\n\n";
+            dir.clear();
+          } else if (numJobs > INT_MAX) {
+            std::cerr << "The CMAKE_BUILD_PARALLEL_LEVEL environment variable "
+                         "is too large.\n\n";
+            dir.clear();
+          } else {
+            jobs = int(numJobs);
+          }
         } else {
           std::cerr << "'CMAKE_BUILD_PARALLEL_LEVEL' environment variable\n"
                     << "invalid number '" << parallel << "' given.\n\n";
diff --git 
a/Tests/RunCMake/CommandLine/BuildDir--build--parallel-large-result.txt 
b/Tests/RunCMake/CommandLine/BuildDir--build--parallel-large-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CommandLine/BuildDir--build--parallel-large-result.txt
@@ -0,0 +1 @@
+1
diff --git 
a/Tests/RunCMake/CommandLine/BuildDir--build--parallel-large-stderr.txt 
b/Tests/RunCMake/CommandLine/BuildDir--build--parallel-large-stderr.txt
new file mode 100644
index 0000000..94fc157
--- /dev/null
+++ b/Tests/RunCMake/CommandLine/BuildDir--build--parallel-large-stderr.txt
@@ -0,0 +1,3 @@
+^The <jobs> value is too large\.
++
+Usage: cmake --build <dir> \[options\] \[-- \[native-options\]\]
diff --git 
a/Tests/RunCMake/CommandLine/BuildDir--build--parallel-zero-result.txt 
b/Tests/RunCMake/CommandLine/BuildDir--build--parallel-zero-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CommandLine/BuildDir--build--parallel-zero-result.txt
@@ -0,0 +1 @@
+1
diff --git 
a/Tests/RunCMake/CommandLine/BuildDir--build--parallel-zero-stderr.txt 
b/Tests/RunCMake/CommandLine/BuildDir--build--parallel-zero-stderr.txt
new file mode 100644
index 0000000..8ed4fee
--- /dev/null
+++ b/Tests/RunCMake/CommandLine/BuildDir--build--parallel-zero-stderr.txt
@@ -0,0 +1,3 @@
+^The <jobs> value requires a positive integer argument\.
++
+Usage: cmake --build <dir> \[options\] \[-- \[native-options\]\]
diff --git a/Tests/RunCMake/CommandLine/BuildDir--build-jobs-large-result.txt 
b/Tests/RunCMake/CommandLine/BuildDir--build-jobs-large-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CommandLine/BuildDir--build-jobs-large-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CommandLine/BuildDir--build-jobs-large-stderr.txt 
b/Tests/RunCMake/CommandLine/BuildDir--build-jobs-large-stderr.txt
new file mode 100644
index 0000000..94fc157
--- /dev/null
+++ b/Tests/RunCMake/CommandLine/BuildDir--build-jobs-large-stderr.txt
@@ -0,0 +1,3 @@
+^The <jobs> value is too large\.
++
+Usage: cmake --build <dir> \[options\] \[-- \[native-options\]\]
diff --git a/Tests/RunCMake/CommandLine/BuildDir--build-jobs-zero-result.txt 
b/Tests/RunCMake/CommandLine/BuildDir--build-jobs-zero-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CommandLine/BuildDir--build-jobs-zero-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CommandLine/BuildDir--build-jobs-zero-stderr.txt 
b/Tests/RunCMake/CommandLine/BuildDir--build-jobs-zero-stderr.txt
new file mode 100644
index 0000000..8ed4fee
--- /dev/null
+++ b/Tests/RunCMake/CommandLine/BuildDir--build-jobs-zero-stderr.txt
@@ -0,0 +1,3 @@
+^The <jobs> value requires a positive integer argument\.
++
+Usage: cmake --build <dir> \[options\] \[-- \[native-options\]\]
diff --git a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake 
b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
index ea749ea..49d3608 100644
--- a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
@@ -149,6 +149,14 @@ function(run_BuildDir)
     ${CMAKE_COMMAND} --build BuildDir-build --parallel2)
   
run_cmake_command(BuildDir--build--parallel-no-space-good-number-trailing--target
 ${CMAKE_COMMAND} -E chdir ..
     ${CMAKE_COMMAND} --build BuildDir-build --parallel2 --target CustomTarget)
+  run_cmake_command(BuildDir--build-jobs-zero ${CMAKE_COMMAND} -E chdir ..
+    ${CMAKE_COMMAND} --build BuildDir-build -j 0)
+  run_cmake_command(BuildDir--build--parallel-zero ${CMAKE_COMMAND} -E chdir ..
+    ${CMAKE_COMMAND} --build BuildDir-build --parallel 0)
+  run_cmake_command(BuildDir--build-jobs-large ${CMAKE_COMMAND} -E chdir ..
+    ${CMAKE_COMMAND} --build BuildDir-build -j 4294967293)
+  run_cmake_command(BuildDir--build--parallel-large ${CMAKE_COMMAND} -E chdir 
..
+    ${CMAKE_COMMAND} --build BuildDir-build --parallel 4294967293)
 
   # No default jobs for Xcode and FreeBSD build command
   if(NOT RunCMake_GENERATOR MATCHES "Xcode" AND NOT CMAKE_SYSTEM_NAME MATCHES 
"FreeBSD")

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

Summary of changes:
 Help/cpack_gen/ifw.rst                             |  4 ++
 Help/manual/cmake.1.rst                            |  3 +
 Help/release/dev/cpackifw-package-style-sheet.rst  |  6 ++
 Modules/CMakeDetermineCompilerId.cmake             |  2 +-
 Source/CPack/IFW/cmCPackIFWInstaller.cxx           | 17 ++++++
 Source/CPack/IFW/cmCPackIFWInstaller.h             |  3 +
 Source/CPack/cpack.cxx                             |  1 +
 Source/CursesDialog/ccmake.cxx                     |  1 +
 Source/QtDialog/CMakeSetup.cxx                     |  1 +
 Source/cmSystemTools.cxx                           | 68 +++++++++++++++++++++-
 Source/cmSystemTools.h                             |  2 +
 Source/cmakemain.cxx                               | 25 +++++++-
 Source/ctest.cxx                                   |  1 +
 .../BuildDir--build--parallel-large-result.txt}    |  0
 ... => BuildDir--build--parallel-large-stderr.txt} |  2 +-
 .../BuildDir--build--parallel-zero-result.txt}     |  0
 ...t => BuildDir--build--parallel-zero-stderr.txt} |  2 +-
 .../BuildDir--build-jobs-large-result.txt}         |  0
 ...r.txt => BuildDir--build-jobs-large-stderr.txt} |  2 +-
 .../BuildDir--build-jobs-zero-result.txt}          |  0
 ...rr.txt => BuildDir--build-jobs-zero-stderr.txt} |  2 +-
 Tests/RunCMake/CommandLine/RunCMakeTest.cmake      | 12 ++++
 22 files changed, 144 insertions(+), 10 deletions(-)
 create mode 100644 Help/release/dev/cpackifw-package-style-sheet.rst
 copy Tests/RunCMake/{while/MissingArgument-result.txt => 
CommandLine/BuildDir--build--parallel-large-result.txt} (100%)
 copy 
Tests/RunCMake/CommandLine/{BuildDir--build-jobs-no-space-bad-number-stderr.txt 
=> BuildDir--build--parallel-large-stderr.txt} (65%)
 copy Tests/RunCMake/{while/MissingArgument-result.txt => 
CommandLine/BuildDir--build--parallel-zero-result.txt} (100%)
 copy 
Tests/RunCMake/CommandLine/{BuildDir--build-jobs-no-space-bad-number-stderr.txt 
=> BuildDir--build--parallel-zero-stderr.txt} (54%)
 copy Tests/RunCMake/{while/MissingArgument-result.txt => 
CommandLine/BuildDir--build-jobs-large-result.txt} (100%)
 copy 
Tests/RunCMake/CommandLine/{BuildDir--build-jobs-no-space-bad-number-stderr.txt 
=> BuildDir--build-jobs-large-stderr.txt} (65%)
 copy Tests/RunCMake/{while/MissingArgument-result.txt => 
CommandLine/BuildDir--build-jobs-zero-result.txt} (100%)
 copy 
Tests/RunCMake/CommandLine/{BuildDir--build-jobs-no-space-bad-number-stderr.txt 
=> BuildDir--build-jobs-zero-stderr.txt} (54%)


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
https://cmake.org/mailman/listinfo/cmake-commits

Reply via email to