[Cmake-commits] CMake branch, next, updated. v3.7.0-rc1-362-g275217f

Brad King brad.king at kitware.com
Mon Oct 10 14:49:35 EDT 2016


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, next has been updated
       via  275217f7c9a7b0252643b50f0431001802499daa (commit)
       via  a3c98cb30edba8ba19bc05d4e08fd344f3440f32 (commit)
      from  f62d2c869f7ebbb418bde71bff2ecbfc7a3993b2 (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=275217f7c9a7b0252643b50f0431001802499daa
commit 275217f7c9a7b0252643b50f0431001802499daa
Merge: f62d2c8 a3c98cb
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Oct 10 14:49:34 2016 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Oct 10 14:49:34 2016 -0400

    Merge topic 'ExternalProject-fix-CMAKE_CACHE_ARGS-list' into next
    
    a3c98cb3 ExternalProject: Fix regression in passing list to CMAKE_CACHE_ARGS


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a3c98cb30edba8ba19bc05d4e08fd344f3440f32
commit a3c98cb30edba8ba19bc05d4e08fd344f3440f32
Author:     Max Smolens <max.smolens at kitware.com>
AuthorDate: Mon Oct 10 11:39:57 2016 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Oct 10 14:40:12 2016 -0400

    ExternalProject: Fix regression in passing list to CMAKE_CACHE_ARGS
    
    Fix passing a list to the CMAKE_CACHE_ARGS and CMAKE_CACHE_DEFAULT_ARGS
    options of ExternalProject_Add.
    
    Following commit v3.7.0-rc1~273^2~1 (prefer list(APPEND) over
    string(APPEND) where appropriate, 2016-08-08), the semicolon list
    separator after the first list element was missing in the generated
    cache.

diff --git a/Modules/ExternalProject.cmake b/Modules/ExternalProject.cmake
index bbeeeed..4ba8537 100644
--- a/Modules/ExternalProject.cmake
+++ b/Modules/ExternalProject.cmake
@@ -1160,7 +1160,7 @@ function(_ep_command_line_to_initial_cache var args force)
       endif()
     else()
       # Assume this is a list to append to the last var
-      list(APPEND accumulator "${line}")
+      string(APPEND accumulator ";${line}")
     endif()
   endforeach()
   # Catch the final line of the args
diff --git a/Tests/RunCMake/ExternalProject/CMAKE_CACHE_ARGS-check.cmake b/Tests/RunCMake/ExternalProject/CMAKE_CACHE_ARGS-check.cmake
index c350a63..cb48be7 100644
--- a/Tests/RunCMake/ExternalProject/CMAKE_CACHE_ARGS-check.cmake
+++ b/Tests/RunCMake/ExternalProject/CMAKE_CACHE_ARGS-check.cmake
@@ -15,3 +15,12 @@ if(NOT "${CMAKE_MATCH_0}" MATCHES FORCE)
   set(RunCMake_TEST_FAILED "Expected forced FOO argument")
   return()
 endif()
+
+if(NOT "${_cache}" MATCHES "set\\(TEST_LIST \"A;B;C\".+\\)")
+  set(RunCMake_TEST_FAILED "Cannot find TEST_LIST argument in cache")
+  return()
+endif()
+if(NOT "${CMAKE_MATCH_0}" MATCHES FORCE)
+  set(RunCMake_TEST_FAILED "Expected forced TEST_LIST argument")
+  return()
+endif()
diff --git a/Tests/RunCMake/ExternalProject/CMAKE_CACHE_ARGS.cmake b/Tests/RunCMake/ExternalProject/CMAKE_CACHE_ARGS.cmake
index 62b1640..1f76fd0 100644
--- a/Tests/RunCMake/ExternalProject/CMAKE_CACHE_ARGS.cmake
+++ b/Tests/RunCMake/ExternalProject/CMAKE_CACHE_ARGS.cmake
@@ -5,4 +5,6 @@ include(ExternalProject)
 
 ExternalProject_Add(FOO TMP_DIR "${CMAKE_CURRENT_BINARY_DIR}/tmp"
                         DOWNLOAD_COMMAND ""
-                        CMAKE_CACHE_ARGS "-DFOO:STRING=$<1:BAR>$<0:BAD>")
+                        CMAKE_CACHE_ARGS
+                            "-DFOO:STRING=$<1:BAR>$<0:BAD>"
+                            "-DTEST_LIST:STRING=A;B;C")
diff --git a/Tests/RunCMake/ExternalProject/CMAKE_CACHE_DEFAULT_ARGS-check.cmake b/Tests/RunCMake/ExternalProject/CMAKE_CACHE_DEFAULT_ARGS-check.cmake
index aeee11f..c84932d 100644
--- a/Tests/RunCMake/ExternalProject/CMAKE_CACHE_DEFAULT_ARGS-check.cmake
+++ b/Tests/RunCMake/ExternalProject/CMAKE_CACHE_DEFAULT_ARGS-check.cmake
@@ -15,3 +15,12 @@ if("${CMAKE_MATCH_0}" MATCHES FORCE)
   set(RunCMake_TEST_FAILED "Expected not forced FOO argument")
   return()
 endif()
+
+if(NOT "${_cache}" MATCHES "set\\(TEST_LIST \"A;B;C\".+\\)")
+  set(RunCMake_TEST_FAILED "Cannot find TEST_LIST argument in cache")
+  return()
+endif()
+if("${CMAKE_MATCH_0}" MATCHES FORCE)
+  set(RunCMake_TEST_FAILED "Expected not forced TEST_LIST argument")
+  return()
+endif()
diff --git a/Tests/RunCMake/ExternalProject/CMAKE_CACHE_DEFAULT_ARGS.cmake b/Tests/RunCMake/ExternalProject/CMAKE_CACHE_DEFAULT_ARGS.cmake
index 3a83dbe..1b619c8 100644
--- a/Tests/RunCMake/ExternalProject/CMAKE_CACHE_DEFAULT_ARGS.cmake
+++ b/Tests/RunCMake/ExternalProject/CMAKE_CACHE_DEFAULT_ARGS.cmake
@@ -5,4 +5,6 @@ include(ExternalProject)
 
 ExternalProject_Add(FOO TMP_DIR "${CMAKE_CURRENT_BINARY_DIR}/tmp"
                         DOWNLOAD_COMMAND ""
-                        CMAKE_CACHE_DEFAULT_ARGS "-DFOO:STRING=$<1:BAR>$<0:BAD>")
+                        CMAKE_CACHE_DEFAULT_ARGS
+                            "-DFOO:STRING=$<1:BAR>$<0:BAD>"
+                            "-DTEST_LIST:STRING=A;B;C")

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

Summary of changes:
 Modules/ExternalProject.cmake                                 |    2 +-
 Tests/RunCMake/ExternalProject/CMAKE_CACHE_ARGS-check.cmake   |    9 +++++++++
 Tests/RunCMake/ExternalProject/CMAKE_CACHE_ARGS.cmake         |    4 +++-
 .../ExternalProject/CMAKE_CACHE_DEFAULT_ARGS-check.cmake      |    9 +++++++++
 Tests/RunCMake/ExternalProject/CMAKE_CACHE_DEFAULT_ARGS.cmake |    4 +++-
 5 files changed, 25 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list