[Cmake-commits] CMake branch, master, updated. v3.13.3-1049-gbcc9ea2

Kitware Robot kwrobot at kitware.com
Tue Jan 22 09:43:04 EST 2019


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  bcc9ea2b3d9cd3b882dbb2a23502b0392cb21d1b (commit)
       via  ad2ed96a85ff2548222093723b923305732a79cb (commit)
       via  4b017d579d00f1d4d032eda7e179f57bdd1da080 (commit)
       via  97700e9f5b17b1631f6bfef4fec62dad88dc9319 (commit)
       via  ab3b549ee0dcd79607f8347a9b69c9b029590fbd (commit)
       via  5ff7fb592e5b9c5a6a0f05055a2bde5623e8cc54 (commit)
      from  cb7fbf1dbbcc88fc7701250db5c3ccdf0ab7396e (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=bcc9ea2b3d9cd3b882dbb2a23502b0392cb21d1b
commit bcc9ea2b3d9cd3b882dbb2a23502b0392cb21d1b
Merge: ad2ed96 ab3b549
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Jan 22 14:41:09 2019 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Tue Jan 22 09:41:23 2019 -0500

    Merge topic 'crosscompiling_emulator-fix'
    
    ab3b549ee0 CROSSCOMPILING_EMULATOR: Fix test generation for empty value
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !2834


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ad2ed96a85ff2548222093723b923305732a79cb
commit ad2ed96a85ff2548222093723b923305732a79cb
Merge: 4b017d5 97700e9
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Jan 22 14:40:33 2019 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Tue Jan 22 09:40:39 2019 -0500

    Merge topic 'findgit-imported-target'
    
    97700e9f5b FindGit: Add imported target
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !2790


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4b017d579d00f1d4d032eda7e179f57bdd1da080
commit 4b017d579d00f1d4d032eda7e179f57bdd1da080
Merge: cb7fbf1 5ff7fb5
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Jan 22 14:38:24 2019 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Tue Jan 22 09:38:30 2019 -0500

    Merge topic 'Wcomma'
    
    5ff7fb592e Fixed all but one clang -Wcomma warning
    
    Acked-by: Kitware Robot <kwrobot at kitware.com>
    Merge-request: !2828


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=97700e9f5b17b1631f6bfef4fec62dad88dc9319
commit 97700e9f5b17b1631f6bfef4fec62dad88dc9319
Author:     Kyle Edwards <kyle.edwards at kitware.com>
AuthorDate: Fri Jan 11 12:01:10 2019 -0500
Commit:     Kyle Edwards <kyle.edwards at kitware.com>
CommitDate: Mon Jan 21 10:01:56 2019 -0500

    FindGit: Add imported target

diff --git a/Help/release/dev/findgit-imported-target.rst b/Help/release/dev/findgit-imported-target.rst
new file mode 100644
index 0000000..cabbae5
--- /dev/null
+++ b/Help/release/dev/findgit-imported-target.rst
@@ -0,0 +1,5 @@
+findgit-imported-target
+-----------------------
+
+* The :module:`FindGit` module now provides an ``IMPORTED`` target for the Git
+  executable.
diff --git a/Modules/FindGit.cmake b/Modules/FindGit.cmake
index c447a1a..900e4f5 100644
--- a/Modules/FindGit.cmake
+++ b/Modules/FindGit.cmake
@@ -5,6 +5,11 @@
 FindGit
 -------
 
+The module defines the following ``IMPORTED`` targets:
+
+``Git::Git``
+  Executable of the Git command-line client.
+
 The module defines the following variables:
 
 ``GIT_EXECUTABLE``
@@ -78,6 +83,12 @@ if(GIT_EXECUTABLE)
     string(REPLACE "git version " "" GIT_VERSION_STRING "${git_version}")
   endif()
   unset(git_version)
+
+  get_property(_findgit_role GLOBAL PROPERTY CMAKE_ROLE)
+  if(_findgit_role STREQUAL "PROJECT" AND NOT TARGET Git::Git)
+    add_executable(Git::Git IMPORTED)
+    set_property(TARGET Git::Git PROPERTY IMPORTED_LOCATION "${GIT_EXECUTABLE}")
+  endif()
 endif()
 
 include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index 86f4c56..c1703cc 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -1437,6 +1437,10 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release
     add_subdirectory(FindGIF)
   endif()
 
+  if(CMake_TEST_FindGit)
+    add_subdirectory(FindGit)
+  endif()
+
   if(CMake_TEST_FindGSL)
     add_subdirectory(FindGSL)
   endif()
diff --git a/Tests/FindGit/CMakeLists.txt b/Tests/FindGit/CMakeLists.txt
new file mode 100644
index 0000000..5d061f4
--- /dev/null
+++ b/Tests/FindGit/CMakeLists.txt
@@ -0,0 +1,10 @@
+add_test(NAME FindGit.Test COMMAND
+  ${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
+  --build-and-test
+  "${CMake_SOURCE_DIR}/Tests/FindGit/Test"
+  "${CMake_BINARY_DIR}/Tests/FindGit/Test"
+  ${build_generator_args}
+  --build-project TestFindGit
+  --build-options ${build_options}
+  --test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
+  )
diff --git a/Tests/FindGit/Test/CMakeLists.txt b/Tests/FindGit/Test/CMakeLists.txt
new file mode 100644
index 0000000..26fb372
--- /dev/null
+++ b/Tests/FindGit/Test/CMakeLists.txt
@@ -0,0 +1,13 @@
+cmake_minimum_required(VERSION 3.12)
+project(TestFindGit NONE)
+include(CTest)
+
+find_package(Git REQUIRED)
+
+add_test(NAME test_git
+  COMMAND ${CMAKE_COMMAND}
+  "-DGIT_EXECUTABLE=${GIT_EXECUTABLE}"
+  "-DGIT_EXECUTABLE_TARGET=$<TARGET_FILE:Git::Git>"
+  "-DGIT_VERSION_STRING=${GIT_VERSION_STRING}"
+  -P "${CMAKE_CURRENT_LIST_DIR}/RunGit.cmake"
+  )
diff --git a/Tests/FindGit/Test/RunGit.cmake b/Tests/FindGit/Test/RunGit.cmake
new file mode 100644
index 0000000..f798cd3
--- /dev/null
+++ b/Tests/FindGit/Test/RunGit.cmake
@@ -0,0 +1,20 @@
+cmake_minimum_required(VERSION 3.12)
+
+function(run_git exe exe_display)
+  execute_process(COMMAND ${exe} --version
+    OUTPUT_VARIABLE output
+    OUTPUT_STRIP_TRAILING_WHITESPACE
+    RESULT_VARIABLE result
+    )
+
+  if(NOT result EQUAL 0)
+    message(SEND_ERROR "Result of ${exe_display} --version is ${result}, should be 0")
+  endif()
+
+  if(NOT output STREQUAL "git version ${GIT_VERSION_STRING}")
+    message(SEND_ERROR "Output of ${exe_display} --version is \"${output}\", should be \"git version ${GIT_VERSION_STRING}\"")
+  endif()
+endfunction()
+
+run_git("${GIT_EXECUTABLE}" "\${GIT_EXECUTABLE}")
+run_git("${GIT_EXECUTABLE_TARGET}" "Git::Git")

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ab3b549ee0dcd79607f8347a9b69c9b029590fbd
commit ab3b549ee0dcd79607f8347a9b69c9b029590fbd
Author:     Kyle Edwards <kyle.edwards at kitware.com>
AuthorDate: Mon Jan 21 09:57:25 2019 -0500
Commit:     Kyle Edwards <kyle.edwards at kitware.com>
CommitDate: Mon Jan 21 09:57:25 2019 -0500

    CROSSCOMPILING_EMULATOR: Fix test generation for empty value
    
    If CROSSCOMPILING_EMULATOR was set to an empty string, and a test
    was generated with the executable as the command, CMake would segfault
    upon trying to generate the test file. Fix this.
    
    Fixes: #18819

diff --git a/Source/cmTestGenerator.cxx b/Source/cmTestGenerator.cxx
index 1e2ddc7..6032701 100644
--- a/Source/cmTestGenerator.cxx
+++ b/Source/cmTestGenerator.cxx
@@ -90,7 +90,7 @@ void cmTestGenerator::GenerateScriptForConfig(std::ostream& os,
 
     // Prepend with the emulator when cross compiling if required.
     const char* emulator = target->GetProperty("CROSSCOMPILING_EMULATOR");
-    if (emulator != nullptr) {
+    if (emulator != nullptr && *emulator) {
       std::vector<std::string> emulatorWithArgs;
       cmSystemTools::ExpandListArgument(emulator, emulatorWithArgs);
       std::string emulatorExe(emulatorWithArgs[0]);
diff --git a/Tests/RunCMake/CrosscompilingEmulator/CrosscompilingEmulatorProperty.cmake b/Tests/RunCMake/CrosscompilingEmulator/CrosscompilingEmulatorProperty.cmake
index 1aeb510..2fdefc4 100644
--- a/Tests/RunCMake/CrosscompilingEmulator/CrosscompilingEmulatorProperty.cmake
+++ b/Tests/RunCMake/CrosscompilingEmulator/CrosscompilingEmulatorProperty.cmake
@@ -26,3 +26,9 @@ get_property(emulator TARGET target_without_emulator
 if(NOT "${emulator}" STREQUAL "")
   message(SEND_ERROR "Default CROSSCOMPILING_EMULATOR property not set to null")
 endif()
+
+add_executable(target_with_empty_emulator simple_src_exiterror.cxx)
+set_property(TARGET target_with_empty_emulator PROPERTY CROSSCOMPILING_EMULATOR "")
+
+enable_testing()
+add_test(NAME test_target_with_empty_emulator COMMAND target_with_empty_emulator)

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5ff7fb592e5b9c5a6a0f05055a2bde5623e8cc54
commit 5ff7fb592e5b9c5a6a0f05055a2bde5623e8cc54
Author:     Sean McBride <sean at rogue-research.com>
AuthorDate: Fri Jan 11 20:48:19 2019 -0500
Commit:     Sean McBride <sean at rogue-research.com>
CommitDate: Fri Jan 11 20:48:19 2019 -0500

    Fixed all but one clang -Wcomma warning

diff --git a/Source/CTest/cmCTestCVS.cxx b/Source/CTest/cmCTestCVS.cxx
index 4fb3273..6e1ada1 100644
--- a/Source/CTest/cmCTestCVS.cxx
+++ b/Source/CTest/cmCTestCVS.cxx
@@ -111,8 +111,8 @@ public:
     , Revisions(revs)
     , Section(SectionHeader)
   {
-    this->SetLog(&cvs->Log, prefix),
-      this->RegexRevision.compile("^revision +([^ ]*) *$");
+    this->SetLog(&cvs->Log, prefix);
+    this->RegexRevision.compile("^revision +([^ ]*) *$");
     this->RegexBranches.compile("^branches: .*$");
     this->RegexPerson.compile("^date: +([^;]+); +author: +([^;]+);");
   }
diff --git a/Source/cmExecProgramCommand.cxx b/Source/cmExecProgramCommand.cxx
index ea4cd40..e7f8a01 100644
--- a/Source/cmExecProgramCommand.cxx
+++ b/Source/cmExecProgramCommand.cxx
@@ -217,7 +217,7 @@ bool cmExecProgramCommand::RunCommand(const char* command, std::string& output,
   int p;
   cmProcessOutput processOutput(encoding);
   std::string strdata;
-  while ((p = cmsysProcess_WaitForData(cp, &data, &length, nullptr), p)) {
+  while ((p = cmsysProcess_WaitForData(cp, &data, &length, nullptr))) {
     if (p == cmsysProcess_Pipe_STDOUT || p == cmsysProcess_Pipe_STDERR) {
       if (verbose) {
         processOutput.DecodeText(data, length, strdata);
diff --git a/Source/cmExecuteProcessCommand.cxx b/Source/cmExecuteProcessCommand.cxx
index 679a648..b549776 100644
--- a/Source/cmExecuteProcessCommand.cxx
+++ b/Source/cmExecuteProcessCommand.cxx
@@ -244,7 +244,7 @@ bool cmExecuteProcessCommand::InitialPass(std::vector<std::string> const& args,
   int p;
   cmProcessOutput processOutput(encoding);
   std::string strdata;
-  while ((p = cmsysProcess_WaitForData(cp, &data, &length, nullptr), p)) {
+  while ((p = cmsysProcess_WaitForData(cp, &data, &length, nullptr))) {
     // Put the output in the right place.
     if (p == cmsysProcess_Pipe_STDOUT && !output_quiet) {
       if (output_variable.empty()) {
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx
index d6ab769..068cf5e 100644
--- a/Source/cmGlobalXCodeGenerator.cxx
+++ b/Source/cmGlobalXCodeGenerator.cxx
@@ -176,12 +176,14 @@ cmGlobalGenerator* cmGlobalXCodeGenerator::Factory::CreateGlobalGenerator(
   std::string versionFile;
   {
     std::string out;
-    std::string::size_type pos = 0;
-    if (cmSystemTools::RunSingleCommand("xcode-select --print-path", &out,
-                                        nullptr, nullptr, nullptr,
-                                        cmSystemTools::OUTPUT_NONE) &&
-        (pos = out.find(".app/"), pos != std::string::npos)) {
-      versionFile = out.substr(0, pos + 5) + "Contents/version.plist";
+    bool commandResult = cmSystemTools::RunSingleCommand(
+      "xcode-select --print-path", &out, nullptr, nullptr, nullptr,
+      cmSystemTools::OUTPUT_NONE);
+    if (commandResult) {
+      std::string::size_type pos = out.find(".app/");
+      if (pos != std::string::npos) {
+        versionFile = out.substr(0, pos + 5) + "Contents/version.plist";
+      }
     }
   }
   if (!versionFile.empty() && cmSystemTools::FileExists(versionFile.c_str())) {
diff --git a/Source/cmProcessTools.cxx b/Source/cmProcessTools.cxx
index facde5d..a2bc16f 100644
--- a/Source/cmProcessTools.cxx
+++ b/Source/cmProcessTools.cxx
@@ -16,7 +16,7 @@ void cmProcessTools::RunProcess(struct cmsysProcess_s* cp, OutputParser* out,
   cmProcessOutput processOutput(encoding);
   std::string strdata;
   while ((out || err) &&
-         (p = cmsysProcess_WaitForData(cp, &data, &length, nullptr), p)) {
+         (p = cmsysProcess_WaitForData(cp, &data, &length, nullptr))) {
     if (out && p == cmsysProcess_Pipe_STDOUT) {
       processOutput.DecodeText(data, length, strdata, 1);
       if (!out->Process(strdata.c_str(), int(strdata.size()))) {

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

Summary of changes:
 Help/release/dev/findgit-imported-target.rst         |  5 +++++
 Modules/FindGit.cmake                                | 11 +++++++++++
 Source/CTest/cmCTestCVS.cxx                          |  4 ++--
 Source/cmExecProgramCommand.cxx                      |  2 +-
 Source/cmExecuteProcessCommand.cxx                   |  2 +-
 Source/cmGlobalXCodeGenerator.cxx                    | 14 ++++++++------
 Source/cmProcessTools.cxx                            |  2 +-
 Source/cmTestGenerator.cxx                           |  2 +-
 Tests/CMakeLists.txt                                 |  4 ++++
 Tests/{FindICU => FindGit}/CMakeLists.txt            |  8 ++++----
 Tests/FindGit/Test/CMakeLists.txt                    | 13 +++++++++++++
 Tests/FindGit/Test/RunGit.cmake                      | 20 ++++++++++++++++++++
 .../CrosscompilingEmulatorProperty.cmake             |  6 ++++++
 13 files changed, 77 insertions(+), 16 deletions(-)
 create mode 100644 Help/release/dev/findgit-imported-target.rst
 copy Tests/{FindICU => FindGit}/CMakeLists.txt (55%)
 create mode 100644 Tests/FindGit/Test/CMakeLists.txt
 create mode 100644 Tests/FindGit/Test/RunGit.cmake


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list