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  a5f837c6a3a7992439002389030543c432f07fc9 (commit)
       via  10fd6fba767be3035a6342f1ccee51ee9a97e601 (commit)
       via  fa81f53d448e3345459972147922b7e37cb94ba0 (commit)
       via  cbb72c8fa45c6aa888f5c1f8083306707b8006a5 (commit)
       via  a40eb5338fa79ec7f4d11dafa7d79328a3a15d6a (commit)
       via  67e0d4d95b14aa2481840a4a17ca44bd37f5beb0 (commit)
       via  65eeb81e64af3e40a346892afdd977494d1d2bac (commit)
       via  96cf67a21121779cdcd8afacfdd508efe1c1a2b5 (commit)
      from  a1956c508553fe2e04429b6d133b7e5cacb9c004 (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 -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a5f837c6a3a7992439002389030543c432f07fc9
commit a5f837c6a3a7992439002389030543c432f07fc9
Merge: a1956c5 10fd6fb
Author:     Daniele E. Domenichelli <daniele.domeniche...@gmail.com>
AuthorDate: Tue Dec 3 10:23:56 2013 -0500
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Tue Dec 3 10:23:56 2013 -0500

    Merge topic 'CMakeParseArguments_EmptyArgs' into next
    
    10fd6fb CMakeParseArguments: Add unit tests
    fa81f53 CMakeParseArguments: Update documentation
    cbb72c8 CMakeParseArguments: Use "if(COMMAND)" as module guard
    a40eb53 CMakeParseArguments: Add workaround for compatibility with CMake <= 
2.8.12
    67e0d4d CMakeParseArguments: Keep compatibility with previous behaviour
    65eeb81 CMakeParseArguments: Do not skip empty arguments
    96cf67a Make define_property() scriptable

diff --cc Tests/RunCMake/CMakeLists.txt
index 98dde92,bb26396..4cdcef9
--- a/Tests/RunCMake/CMakeLists.txt
+++ b/Tests/RunCMake/CMakeLists.txt
@@@ -136,5 -134,5 +136,6 @@@ endif(
  add_RunCMake_test(File_Generate)
  add_RunCMake_test(ExportWithoutLanguage)
  add_RunCMake_test(target_link_libraries)
 +add_RunCMake_test(target_compile_features)
  add_RunCMake_test(CheckModules)
+ add_RunCMake_test(CMakeParseArguments)

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=10fd6fba767be3035a6342f1ccee51ee9a97e601
commit 10fd6fba767be3035a6342f1ccee51ee9a97e601
Author:     Daniele E. Domenichelli <daniele.domeniche...@iit.it>
AuthorDate: Thu Nov 14 11:54:29 2013 +0100
Commit:     Daniele E. Domenichelli <daniele.domeniche...@iit.it>
CommitDate: Tue Dec 3 16:20:51 2013 +0100

    CMakeParseArguments: Add unit tests

diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt
index 209b0b3..bb26396 100644
--- a/Tests/RunCMake/CMakeLists.txt
+++ b/Tests/RunCMake/CMakeLists.txt
@@ -135,3 +135,4 @@ add_RunCMake_test(File_Generate)
 add_RunCMake_test(ExportWithoutLanguage)
 add_RunCMake_test(target_link_libraries)
 add_RunCMake_test(CheckModules)
+add_RunCMake_test(CMakeParseArguments)
diff --git a/Tests/RunCMake/CMakeParseArguments/ARGUMENT-KEEP.cmake 
b/Tests/RunCMake/CMakeParseArguments/ARGUMENT-KEEP.cmake
new file mode 100644
index 0000000..1913713
--- /dev/null
+++ b/Tests/RunCMake/CMakeParseArguments/ARGUMENT-KEEP.cmake
@@ -0,0 +1,29 @@
+# CMAKE_MINIMUM_REQUIRED_VERSION             2.8.12
+# CMAKE_PARSE_ARGUMENTS_DEFAULT_SKIP_EMPTY   1
+# CMAKE_PARSE_ARGUMENTS_(KEEP|SKIP)_EMPTY    KEEP
+#     => KEEP
+
+cmake_minimum_required(VERSION 2.8.12)
+
+include(CMakeParseArguments)
+
+set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY 
CMAKE_PARSE_ARGUMENTS_DEFAULT_SKIP_EMPTY 1)
+
+macro(MY_INSTALL)
+    set(options OPTIONAL FAST)
+    set(oneValueArgs DESTINATION RENAME)
+    set(multiValueArgs TARGETS CONFIGURATIONS)
+    cmake_parse_arguments(MY_INSTALL "${options}" "${oneValueArgs}" 
"${multiValueArgs}" CMAKE_PARSE_ARGUMENTS_KEEP_EMPTY "${ARGN}")
+endmacro()
+
+my_install(DESTINATION "" TARGETS foo "" bar)
+
+if(NOT DEFINED MY_INSTALL_DESTINATION)
+    message(FATAL_ERROR "NOT DEFINED MY_INSTALL_DESTINATION")
+elseif(NOT "${MY_INSTALL_DESTINATION}" STREQUAL "")
+    message(FATAL_ERROR "NOT \"\${MY_INSTALL_DESTINATION}\" STREQUAL \"\"")
+endif()
+
+if(NOT "${MY_INSTALL_TARGETS}" STREQUAL "foo;;bar")
+    message(FATAL_ERROR "NOT \"\${MY_INSTALL_TARGETS}\" STREQUAL \"foo;;bar\"")
+endif()
diff --git a/Tests/RunCMake/CMakeParseArguments/ARGUMENT-SKIP.cmake 
b/Tests/RunCMake/CMakeParseArguments/ARGUMENT-SKIP.cmake
new file mode 100644
index 0000000..6e0598c
--- /dev/null
+++ b/Tests/RunCMake/CMakeParseArguments/ARGUMENT-SKIP.cmake
@@ -0,0 +1,27 @@
+# CMAKE_MINIMUM_REQUIRED_VERSION             2.8.12
+# CMAKE_PARSE_ARGUMENTS_DEFAULT_SKIP_EMPTY   0
+# CMAKE_PARSE_ARGUMENTS_(KEEP|SKIP)_EMPTY    SKIP
+#     => SKIP
+
+cmake_minimum_required(VERSION 2.8.12)
+
+include(CMakeParseArguments)
+
+set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY 
CMAKE_PARSE_ARGUMENTS_DEFAULT_SKIP_EMPTY 0)
+
+macro(MY_INSTALL)
+    set(options OPTIONAL FAST)
+    set(oneValueArgs DESTINATION RENAME)
+    set(multiValueArgs TARGETS CONFIGURATIONS)
+    cmake_parse_arguments(MY_INSTALL "${options}" "${oneValueArgs}" 
"${multiValueArgs}" CMAKE_PARSE_ARGUMENTS_SKIP_EMPTY "${ARGN}")
+endmacro()
+
+my_install(DESTINATION "" TARGETS foo "" bar)
+
+if(DEFINED MY_INSTALL_DESTINATION)
+    message(FATAL_ERROR "DEFINED MY_INSTALL_DESTINATION")
+endif()
+
+if(NOT "${MY_INSTALL_TARGETS}" STREQUAL "foo;bar")
+    message(FATAL_ERROR "NOT \"\${MY_INSTALL_TARGETS}\" STREQUAL \"foo;bar\"")
+endif()
diff --git a/Tests/RunCMake/CMakeParseArguments/CMakeLists.txt 
b/Tests/RunCMake/CMakeParseArguments/CMakeLists.txt
new file mode 100644
index 0000000..4b3de84
--- /dev/null
+++ b/Tests/RunCMake/CMakeParseArguments/CMakeLists.txt
@@ -0,0 +1,3 @@
+cmake_minimum_required(VERSION 2.8.12)
+project(${RunCMake_TEST} NONE)
+include(${RunCMake_TEST}.cmake)
diff --git 
a/Tests/RunCMake/CMakeParseArguments/DifferentScope-subdir1/CMakeLists.txt 
b/Tests/RunCMake/CMakeParseArguments/DifferentScope-subdir1/CMakeLists.txt
new file mode 100644
index 0000000..19871cc
--- /dev/null
+++ b/Tests/RunCMake/CMakeParseArguments/DifferentScope-subdir1/CMakeLists.txt
@@ -0,0 +1 @@
+include(CMakeParseArguments)
diff --git 
a/Tests/RunCMake/CMakeParseArguments/DifferentScope-subdir2/CMakeLists.txt 
b/Tests/RunCMake/CMakeParseArguments/DifferentScope-subdir2/CMakeLists.txt
new file mode 100644
index 0000000..4d1e6e4
--- /dev/null
+++ b/Tests/RunCMake/CMakeParseArguments/DifferentScope-subdir2/CMakeLists.txt
@@ -0,0 +1,10 @@
+include(CMakeParseArguments)
+
+macro(mymacro)
+  set(options )
+  set(oneValueArgs)
+  set(multiValueArgs)
+  cmake_parse_arguments(MY_ "${options}" "${oneValueArgs}" "${multiValueArgs}" 
"${ARGN}" )
+endmacro()
+
+mymacro()
diff --git a/Tests/RunCMake/CMakeParseArguments/DifferentScope.cmake 
b/Tests/RunCMake/CMakeParseArguments/DifferentScope.cmake
new file mode 100644
index 0000000..6441bec
--- /dev/null
+++ b/Tests/RunCMake/CMakeParseArguments/DifferentScope.cmake
@@ -0,0 +1,4 @@
+cmake_minimum_required(VERSION 2.8.12)
+
+add_subdirectory(DifferentScope-subdir1)
+add_subdirectory(DifferentScope-subdir2)
diff --git a/Tests/RunCMake/CMakeParseArguments/Example.cmake 
b/Tests/RunCMake/CMakeParseArguments/Example.cmake
new file mode 100644
index 0000000..063b5f8
--- /dev/null
+++ b/Tests/RunCMake/CMakeParseArguments/Example.cmake
@@ -0,0 +1,70 @@
+include(CMakeParseArguments)
+
+macro(MY_INSTALL)
+    set(options OPTIONAL FAST)
+    set(oneValueArgs DESTINATION RENAME)
+    set(multiValueArgs TARGETS CONFIGURATIONS)
+    cmake_parse_arguments(MY_INSTALL "${options}" "${oneValueArgs}" 
"${multiValueArgs}" "${ARGN}")
+endmacro()
+
+my_install(TARGETS foo bar DESTINATION bin OPTIONAL)
+
+if(NOT MY_INSTALL_OPTIONAL)
+    message(FATAL_ERROR "NOT MY_INSTALL_OPTIONAL")
+endif()
+
+if(MY_INSTALL_FAST)
+    message(FATAL_ERROR "MY_INSTALL_FAST")
+endif()
+
+if(NOT "${MY_INSTALL_DESTINATION}" STREQUAL "bin")
+    message(FATAL_ERROR "NOT \"\${MY_INSTALL_DESTINATION}\" STREQUAL \"bin\"")
+endif()
+
+if(DEFINED MY_INSTALL_RENAME)
+    message(FATAL_ERROR "DEFINED MY_INSTALL_RENAME")
+endif()
+
+if(NOT "${MY_INSTALL_TARGETS}" STREQUAL "foo;bar")
+    message(FATAL_ERROR "NOT \"\${MY_INSTALL_TARGETS}\" STREQUAL \"foo;bar\"")
+endif()
+
+if(DEFINED MY_INSTALL_CONFIGURATIONS)
+    message(FATAL_ERROR "DEFINED MY_INSTALL_CONFIGURATIONS")
+endif()
+
+if(DEFINED MY_INSTALL_UNPARSED_ARGUMENTS)
+    message(DEFINED MY_INSTALL_UNPARSED_ARGUMENTS)
+endif()
+
+
+
+my_install(TARGETS foo bar DESTINATION bin OPTIONAL blub)
+
+if(NOT MY_INSTALL_OPTIONAL)
+    message(FATAL_ERROR "NOT MY_INSTALL_OPTIONAL")
+endif()
+
+if(MY_INSTALL_FAST)
+    message(FATAL_ERROR "MY_INSTALL_FAST")
+endif()
+
+if(NOT "${MY_INSTALL_DESTINATION}" STREQUAL "bin")
+    message(FATAL_ERROR "NOT \"\${MY_INSTALL_DESTINATION}\" STREQUAL \"bin\"")
+endif()
+
+if(DEFINED MY_INSTALL_RENAME)
+    message(FATAL_ERROR "DEFINED MY_INSTALL_RENAME")
+endif()
+
+if(NOT "${MY_INSTALL_TARGETS}" STREQUAL "foo;bar")
+    message(FATAL_ERROR "NOT \"\${MY_INSTALL_TARGETS}\" STREQUAL \"foo;bar\"")
+endif()
+
+if(DEFINED MY_INSTALL_CONFIGURATIONS)
+    message(FATAL_ERROR "DEFINED MY_INSTALL_CONFIGURATIONS")
+endif()
+
+if(NOT "${MY_INSTALL_UNPARSED_ARGUMENTS}" STREQUAL "blub")
+    message(FATAL_ERROR "NOT \"\${MY_INSTALL_UNPARSED_ARGUMENTS}\" STREQUAL 
\"blub\"")
+endif()
diff --git a/Tests/RunCMake/CMakeParseArguments/PROPERTY-KEEP.cmake 
b/Tests/RunCMake/CMakeParseArguments/PROPERTY-KEEP.cmake
new file mode 100644
index 0000000..67046ef
--- /dev/null
+++ b/Tests/RunCMake/CMakeParseArguments/PROPERTY-KEEP.cmake
@@ -0,0 +1,29 @@
+# CMAKE_MINIMUM_REQUIRED_VERSION             2.8.12
+# CMAKE_PARSE_ARGUMENTS_DEFAULT_SKIP_EMPTY   0
+# CMAKE_PARSE_ARGUMENTS_(KEEP|SKIP)_EMPTY    UNSET
+#     => KEEP
+
+cmake_minimum_required(VERSION 2.8.12)
+
+include(CMakeParseArguments)
+
+set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY 
CMAKE_PARSE_ARGUMENTS_DEFAULT_SKIP_EMPTY 0)
+
+macro(MY_INSTALL)
+    set(options OPTIONAL FAST)
+    set(oneValueArgs DESTINATION RENAME)
+    set(multiValueArgs TARGETS CONFIGURATIONS)
+    cmake_parse_arguments(MY_INSTALL "${options}" "${oneValueArgs}" 
"${multiValueArgs}" "${ARGN}")
+endmacro()
+
+my_install(DESTINATION "" TARGETS foo "" bar)
+
+if(NOT DEFINED MY_INSTALL_DESTINATION)
+    message(FATAL_ERROR "NOT DEFINED MY_INSTALL_DESTINATION")
+elseif(NOT "${MY_INSTALL_DESTINATION}" STREQUAL "")
+    message(FATAL_ERROR "NOT \"\${MY_INSTALL_DESTINATION}\" STREQUAL \"\"")
+endif()
+
+if(NOT "${MY_INSTALL_TARGETS}" STREQUAL "foo;;bar")
+    message(FATAL_ERROR "NOT \"\${MY_INSTALL_TARGETS}\" STREQUAL \"foo;;bar\"")
+endif()
diff --git a/Tests/RunCMake/CMakeParseArguments/PROPERTY-SKIP.cmake 
b/Tests/RunCMake/CMakeParseArguments/PROPERTY-SKIP.cmake
new file mode 100644
index 0000000..941d63f
--- /dev/null
+++ b/Tests/RunCMake/CMakeParseArguments/PROPERTY-SKIP.cmake
@@ -0,0 +1,27 @@
+# CMAKE_MINIMUM_REQUIRED_VERSION             2.8.12
+# CMAKE_PARSE_ARGUMENTS_DEFAULT_SKIP_EMPTY   1
+# CMAKE_PARSE_ARGUMENTS_(KEEP|SKIP)_EMPTY    UNSET
+#     => SKIP
+
+cmake_minimum_required(VERSION 2.8.12)
+
+include(CMakeParseArguments)
+
+set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY 
CMAKE_PARSE_ARGUMENTS_DEFAULT_SKIP_EMPTY 1)
+
+macro(MY_INSTALL)
+    set(options OPTIONAL FAST)
+    set(oneValueArgs DESTINATION RENAME)
+    set(multiValueArgs TARGETS CONFIGURATIONS)
+    cmake_parse_arguments(MY_INSTALL "${options}" "${oneValueArgs}" 
"${multiValueArgs}" "${ARGN}")
+endmacro()
+
+my_install(DESTINATION "" TARGETS foo "" bar)
+
+if(DEFINED MY_INSTALL_DESTINATION)
+    message(FATAL_ERROR "DEFINED MY_INSTALL_DESTINATION")
+endif()
+
+if(NOT "${MY_INSTALL_TARGETS}" STREQUAL "foo;bar")
+    message(FATAL_ERROR "NOT \"\${MY_INSTALL_TARGETS}\" STREQUAL \"foo;bar\"")
+endif()
diff --git a/Tests/RunCMake/CMakeParseArguments/RunCMakeTest.cmake 
b/Tests/RunCMake/CMakeParseArguments/RunCMakeTest.cmake
new file mode 100644
index 0000000..7293c02
--- /dev/null
+++ b/Tests/RunCMake/CMakeParseArguments/RunCMakeTest.cmake
@@ -0,0 +1,10 @@
+include(RunCMake)
+
+run_cmake(Example)
+run_cmake(VERSION-SKIP)
+# run_cmake(VERSION-KEEP) # Enable when 3.0.0 is released
+run_cmake(PROPERTY-SKIP)
+run_cmake(PROPERTY-KEEP)
+run_cmake(ARGUMENT-SKIP)
+run_cmake(ARGUMENT-KEEP)
+run_cmake(DifferentScope)
diff --git a/Tests/RunCMake/CMakeParseArguments/VERSION-KEEP.cmake 
b/Tests/RunCMake/CMakeParseArguments/VERSION-KEEP.cmake
new file mode 100644
index 0000000..44967ec
--- /dev/null
+++ b/Tests/RunCMake/CMakeParseArguments/VERSION-KEEP.cmake
@@ -0,0 +1,27 @@
+# CMAKE_MINIMUM_REQUIRED_VERSION             3.0.0
+# CMAKE_PARSE_ARGUMENTS_DEFAULT_SKIP_EMPTY   UNSET
+# CMAKE_PARSE_ARGUMENTS_(KEEP|SKIP)_EMPTY    UNSET
+#     => KEEP
+
+cmake_minimum_required(VERSION 3.0.0)
+
+include(CMakeParseArguments)
+
+macro(MY_INSTALL)
+    set(options OPTIONAL FAST)
+    set(oneValueArgs DESTINATION RENAME)
+    set(multiValueArgs TARGETS CONFIGURATIONS)
+    cmake_parse_arguments(MY_INSTALL "${options}" "${oneValueArgs}" 
"${multiValueArgs}" "${ARGN}")
+endmacro()
+
+my_install(DESTINATION "" TARGETS foo "" bar)
+
+if(NOT DEFINED MY_INSTALL_DESTINATION)
+    message(FATAL_ERROR "NOT DEFINED MY_INSTALL_DESTINATION")
+elseif(NOT "${MY_INSTALL_DESTINATION}" STREQUAL "")
+    message(FATAL_ERROR "NOT \"\${MY_INSTALL_DESTINATION}\" STREQUAL \"\"")
+endif()
+
+if(NOT "${MY_INSTALL_TARGETS}" STREQUAL "foo;;bar")
+    message(FATAL_ERROR "NOT \"\${MY_INSTALL_TARGETS}\" STREQUAL \"foo;;bar\"")
+endif()
diff --git a/Tests/RunCMake/CMakeParseArguments/VERSION-SKIP.cmake 
b/Tests/RunCMake/CMakeParseArguments/VERSION-SKIP.cmake
new file mode 100644
index 0000000..88ff49c
--- /dev/null
+++ b/Tests/RunCMake/CMakeParseArguments/VERSION-SKIP.cmake
@@ -0,0 +1,25 @@
+# CMAKE_MINIMUM_REQUIRED_VERSION             2.8.12
+# CMAKE_PARSE_ARGUMENTS_DEFAULT_SKIP_EMPTY   UNSET
+# CMAKE_PARSE_ARGUMENTS_(KEEP|SKIP)_EMPTY    UNSET
+#     => SKIP
+
+cmake_minimum_required(VERSION 2.8.12)
+
+include(CMakeParseArguments)
+
+macro(MY_INSTALL)
+    set(options OPTIONAL FAST)
+    set(oneValueArgs DESTINATION RENAME)
+    set(multiValueArgs TARGETS CONFIGURATIONS)
+    cmake_parse_arguments(MY_INSTALL "${options}" "${oneValueArgs}" 
"${multiValueArgs}" "${ARGN}")
+endmacro()
+
+my_install(DESTINATION "" TARGETS foo "" bar)
+
+if(DEFINED MY_INSTALL_DESTINATION)
+    message(FATAL_ERROR "DEFINED MY_INSTALL_DESTINATION")
+endif()
+
+if(NOT "${MY_INSTALL_TARGETS}" STREQUAL "foo;bar")
+    message(FATAL_ERROR "NOT \"\${MY_INSTALL_TARGETS}\" STREQUAL \"foo;bar\"")
+endif()

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fa81f53d448e3345459972147922b7e37cb94ba0
commit fa81f53d448e3345459972147922b7e37cb94ba0
Author:     Daniele E. Domenichelli <daniele.domeniche...@iit.it>
AuthorDate: Fri Nov 8 16:41:41 2013 +0100
Commit:     Daniele E. Domenichelli <daniele.domeniche...@iit.it>
CommitDate: Tue Dec 3 16:20:51 2013 +0100

    CMakeParseArguments: Update documentation

diff --git a/Modules/CMakeParseArguments.cmake 
b/Modules/CMakeParseArguments.cmake
index 44a301b..c75d839 100644
--- a/Modules/CMakeParseArguments.cmake
+++ b/Modules/CMakeParseArguments.cmake
@@ -2,16 +2,23 @@
 # CMakeParseArguments
 # -------------------
 #
+# Parse arguments given to a macro or a function.
 #
-#
-# CMAKE_PARSE_ARGUMENTS(<prefix> <options> <one_value_keywords>
-# <multi_value_keywords> args...)
-#
-# CMAKE_PARSE_ARGUMENTS() is intended to be used in macros or functions
+# cmake_parse_arguments() is intended to be used in macros or functions
 # for parsing the arguments given to that macro or function.  It
 # processes the arguments and defines a set of variables which hold the
 # values of the respective options.
 #
+# ::
+#
+#  cmake_parse_arguments(<prefix>
+#                        <options>
+#                        <one_value_keywords>
+#                        <multi_value_keywords>
+#                        
[CMAKE_PARSE_ARGUMENTS_SKIP_EMPTY|CMAKE_PARSE_ARGUMENTS_KEEP_EMPTY]
+#                        args...
+#                        )
+#
 # The <options> argument contains all options for the respective macro,
 # i.e.  keywords which can be used when calling the macro without any
 # value following, like e.g.  the OPTIONAL keyword of the install()
@@ -25,7 +32,7 @@
 # macro which can be followed by more than one value, like e.g.  the
 # TARGETS or FILES keywords of the install() command.
 #
-# When done, CMAKE_PARSE_ARGUMENTS() will have defined for each of the
+# When done, cmake_parse_arguments() will have defined for each of the
 # keywords listed in <options>, <one_value_keywords> and
 # <multi_value_keywords> a variable composed of the given <prefix>
 # followed by "_" and the name of the respective keyword.  These
@@ -36,6 +43,17 @@
 # <prefix>_UNPARSED_ARGUMENTS, this can be checked afterwards to see
 # whether your macro was called with unrecognized parameters.
 #
+# The cmake CMAKE_PARSE_ARGUMENTS_SKIP_EMPTY (old behaviour) and
+# CMAKE_PARSE_ARGUMENTS_KEEP_EMPTY options decide how empty arguments
+# should be handled. If none of these options is set, for backwards
+# compatibility, if CMAKE_MINIMUM_REQUIRED_VERSION < 3.0.0, the default
+# behaviour is to skip empty arguments, otherwise the default behaviour
+# is to keep them. Using the CMAKE_PARSE_ARGUMENTS_DEFAULT_SKIP_EMPTY
+# directory property the user can explicitly set the default behaviour
+# for a folder and its subfolders.
+#
+#
+#
 # As an example here a my_install() macro, which takes similar arguments
 # as the real install() command:
 #
@@ -80,7 +98,42 @@
 # interpreted as the beginning of the new option.  E.g.
 # my_install(TARGETS foo DESTINATION OPTIONAL) would result in
 # MY_INSTALL_DESTINATION set to "OPTIONAL", but MY_INSTALL_DESTINATION
-# would be empty and MY_INSTALL_OPTIONAL would be set to TRUE therefor.
+# would be empty and MY_INSTALL_OPTIONAL would be set to TRUE therefore.
+#
+#
+#
+# If the "CMAKE_PARSE_ARGUMENTS_SKIP_EMPTY" option is set,
+# cmake_parse_argumentswill not consider empty arguments.
+# Therefore
+#
+# ::
+#
+#    my_install(DESTINATION "" TARGETS foo "" bar)
+#
+# Will set
+#
+# ::
+#
+#    MY_INSTALL_DESTINATION = (unset)
+#    MY_INSTALL_MULTI = "foo;bar"
+#
+# Using the "CMAKE_PARSE_ARGUMENTS_SKIP_EMPTY" option instead, will set
+#
+# ::
+#
+#    MY_INSTALL_SINGLE = ""
+#    MY_INSTALL_MULTI = "foo;;bar"
+#
+#
+# It is also important to note that:
+#
+# ::
+#
+#      cmake_parse_arguments(MY_INSTALL "${options}" "${oneValueArgs}" 
"${multiValueArgs}" "${ARGN}" )
+#      cmake_parse_arguments(MY_INSTALL "${options}" "${oneValueArgs}" 
"${multiValueArgs}" ${ARGN} )
+#
+# Will behave differently, because in the latter case empty arguments
+# are not passed to cmake_parse_arguments.
 
 #=============================================================================
 # Copyright 2010 Alexander Neundorf <neund...@kde.org>

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cbb72c8fa45c6aa888f5c1f8083306707b8006a5
commit cbb72c8fa45c6aa888f5c1f8083306707b8006a5
Author:     Daniele E. Domenichelli <daniele.domeniche...@iit.it>
AuthorDate: Mon Dec 2 16:34:07 2013 +0100
Commit:     Daniele E. Domenichelli <daniele.domeniche...@iit.it>
CommitDate: Tue Dec 3 16:20:51 2013 +0100

    CMakeParseArguments: Use "if(COMMAND)" as module guard
    
    set(__CMAKE_PARSE_ARGUMENTS_INCLUDED TRUE) does not protect from being
    included twice if the module is included in different places from
    different scopes.  Using if(COMMAND) guarantees that the file is not
    included twice.

diff --git a/Modules/CMakeParseArguments.cmake 
b/Modules/CMakeParseArguments.cmake
index 39a9f71..44a301b 100644
--- a/Modules/CMakeParseArguments.cmake
+++ b/Modules/CMakeParseArguments.cmake
@@ -96,10 +96,9 @@
 #  License text for the above reference.)
 
 
-if(__CMAKE_PARSE_ARGUMENTS_INCLUDED)
+if(COMMAND cmake_parse_arguments)
   return()
 endif()
-set(__CMAKE_PARSE_ARGUMENTS_INCLUDED TRUE)
 
 
 define_property(DIRECTORY PROPERTY "CMAKE_PARSE_ARGUMENTS_DEFAULT_SKIP_EMPTY" 
INHERITED

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a40eb5338fa79ec7f4d11dafa7d79328a3a15d6a
commit a40eb5338fa79ec7f4d11dafa7d79328a3a15d6a
Author:     Daniele E. Domenichelli <daniele.domeniche...@iit.it>
AuthorDate: Thu Nov 14 11:42:35 2013 +0100
Commit:     Daniele E. Domenichelli <daniele.domeniche...@iit.it>
CommitDate: Tue Dec 3 16:20:51 2013 +0100

    CMakeParseArguments: Add workaround for compatibility with CMake <= 2.8.12
    
    This "wrapper" macro is a workaround that allows to use this version of this
    module with CMake <= 2.8.12.
    Before that version set(VAR "" PARENT_SCOPE) did not set the variable in
    the parent scope and instead it used to unset it.
    This wrapper calls the real function, but if necessary (i.e. when empty
    arguments should not be skipped and CMake < 3.0.0) it parses the arguments
    again in order to find single and multiple arguments that have not been set
    and sets them to an empty string in the same variable scope as the caller.

diff --git a/Modules/CMakeParseArguments.cmake 
b/Modules/CMakeParseArguments.cmake
index 1c902d3..39a9f71 100644
--- a/Modules/CMakeParseArguments.cmake
+++ b/Modules/CMakeParseArguments.cmake
@@ -110,40 +110,10 @@ define_property(DIRECTORY PROPERTY 
"CMAKE_PARSE_ARGUMENTS_DEFAULT_SKIP_EMPTY" IN
   )
 
 
-function(CMAKE_PARSE_ARGUMENTS prefix _optionNames _singleArgNames 
_multiArgNames)
-  # first set all result variables to empty/FALSE
-  foreach(arg_name ${_singleArgNames} ${_multiArgNames})
-    set(${prefix}_${arg_name})
-  endforeach()
-
-  foreach(option ${_optionNames})
-    set(${prefix}_${option} FALSE)
-  endforeach()
-
-  set(${prefix}_UNPARSED_ARGUMENTS)
-
+function(_CMAKE_PARSE_ARGUMENTS_INTERNAL prefix _optionNames _singleArgNames 
_multiArgNames _skipEmpty)
   set(insideValues FALSE)
   set(currentArgName)
 
-  get_property(_defaultSkipEmptySet DIRECTORY PROPERTY 
CMAKE_PARSE_ARGUMENTS_DEFAULT_SKIP_EMPTY SET)
-  get_property(_defaultSkipEmpty    DIRECTORY PROPERTY 
CMAKE_PARSE_ARGUMENTS_DEFAULT_SKIP_EMPTY)
-
-  if("x${ARGN}" MATCHES "^xCMAKE_PARSE_ARGUMENTS_(SKIP|KEEP)_EMPTY;?")
-    if("${CMAKE_MATCH_1}" STREQUAL "SKIP")
-        set(_skipEmpty 1)
-    elseif("${CMAKE_MATCH_1}" STREQUAL "KEEP")
-        set(_skipEmpty 0)
-    endif()
-    string(REGEX REPLACE "^${CMAKE_MATCH_0}" "" ARGN "x${ARGN}")
-  elseif(_defaultSkipEmptySet)
-    set(_skipEmpty ${_defaultSkipEmpty})
-  elseif(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 3.0.0)
-    # Keep compatibility with previous releases
-    set(_skipEmpty 1)
-  else()
-    set(_skipEmpty 0)
-  endif()
-
   if(_skipEmpty)
     set(_loopARGN ${ARGN})
   else()
@@ -204,3 +174,63 @@ function(CMAKE_PARSE_ARGUMENTS prefix _optionNames 
_singleArgNames _multiArgName
   endforeach()
 
 endfunction()
+
+
+# This "wrapper" macro is a workaround that allows to use this version of this
+# module with CMake <= 2.8.12
+# Before that version set(VAR "" PARENT_SCOPE) did not set the variable in
+# the parent scope and instead it used to unset it.
+# This wrapper calls the real function, but if necessary (i.e. when empty
+# arguments should not be skipped and CMake < 3.0.0) it parses the arguments
+# again in order to find single and multiple arguments that have not been set
+# and sets them to an empty string in the same variable scope as the caller.
+macro(CMAKE_PARSE_ARGUMENTS prefix _optionNames _singleArgNames _multiArgNames)
+  # first set all result variables to empty/FALSE
+  foreach(arg_name ${_singleArgNames} ${_multiArgNames})
+    set(${prefix}_${arg_name})
+  endforeach()
+
+  foreach(option ${_optionNames})
+    set(${prefix}_${option} FALSE)
+  endforeach()
+
+  set(${prefix}_UNPARSED_ARGUMENTS)
+
+  get_property(_defaultSkipEmptySet DIRECTORY PROPERTY 
CMAKE_PARSE_ARGUMENTS_DEFAULT_SKIP_EMPTY SET)
+  get_property(_defaultSkipEmpty    DIRECTORY PROPERTY 
CMAKE_PARSE_ARGUMENTS_DEFAULT_SKIP_EMPTY)
+
+  if("x${ARGN}" MATCHES "^xCMAKE_PARSE_ARGUMENTS_(SKIP|KEEP)_EMPTY;?")
+    if("${CMAKE_MATCH_1}" STREQUAL "SKIP")
+        set(_skipEmpty 1)
+    elseif("${CMAKE_MATCH_1}" STREQUAL "KEEP")
+        set(_skipEmpty 0)
+    endif()
+    string(REGEX REPLACE "^${CMAKE_MATCH_0}" "" ARGN "x${ARGN}")
+  elseif(_defaultSkipEmptySet)
+    set(_skipEmpty "${_defaultSkipEmpty}")
+  elseif(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 3.0.0)
+   # Keep compatibility with previous releases
+    set(_skipEmpty 1)
+  else()
+    set(_skipEmpty 0)
+  endif()
+
+  _cmake_parse_arguments_internal("${prefix}" "${_optionNames}" 
"${_singleArgNames}" "${_multiArgNames}" "${_skipEmpty}" "${ARGN}")
+
+  if(NOT _skipEmpty AND CMAKE_VERSION VERSION_LESS 3.0.0)
+    set(__singleArgNames ${_singleArgNames})
+    set(__multiArgNames ${_multiArgNames})
+    foreach(currentArg ${ARGN})
+      if(NOT DEFINED ${prefix}_${currentArg})
+        list(FIND __singleArgNames "${currentArg}" _singleArgIndex)
+        list(FIND __multiArgNames "${currentArg}" _multiArgIndex)
+        if(NOT ${_singleArgIndex} EQUAL -1  OR  NOT ${_multiArgIndex} EQUAL -1)
+          set(${prefix}_${currentArg} "")
+        endif()
+      endif()
+    endforeach()
+    unset(__singleArgNames)
+    unset(__multiArgNames)
+  endif()
+
+endmacro()

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=67e0d4d95b14aa2481840a4a17ca44bd37f5beb0
commit 67e0d4d95b14aa2481840a4a17ca44bd37f5beb0
Author:     Daniele E. Domenichelli <daniele.domeniche...@iit.it>
AuthorDate: Fri Nov 8 16:26:06 2013 +0100
Commit:     Daniele E. Domenichelli <daniele.domeniche...@iit.it>
CommitDate: Tue Dec 3 15:54:49 2013 +0100

    CMakeParseArguments: Keep compatibility with previous behaviour
    
    The behaviour is now decided as follows:
    
    * If CMAKE_MINIMUM_REQUIRED_VERSION < 2.8.13, the default behaviour is
      to skip empty arguments, otherwise the default behaviour is to keep
      them.
    * Using the CMAKE_PARSE_ARGUMENTS_DEFAULT_SKIP_EMPTY directory property
      the user can explicitly set the default behaviour for a folder and its
      subfolders.
    * Using CMAKE_PARSE_ARGUMENTS_(SKIP|KEEP)_EMPTY or as the first argument
      of the call after the mandatory ones, the user can specify whether to
      keep or to skip the empty arguments, regardless of the default
      behaviour for that cmake_parse_arguments() call.
    
    Therefore the new syntax is:
    
      cmake_parse_arguments(<prefix>
                            <options>
                            <one_value_keywords>
                            <multi_value_keywords>
                            
[CMAKE_PARSE_ARGUMENTS_SKIP_EMPTY|CMAKE_PARSE_ARGUMENTS_KEEP_EMPTY]
                            args...
                            )

diff --git a/Modules/CMakeParseArguments.cmake 
b/Modules/CMakeParseArguments.cmake
index d96e9a4..1c902d3 100644
--- a/Modules/CMakeParseArguments.cmake
+++ b/Modules/CMakeParseArguments.cmake
@@ -102,6 +102,14 @@ endif()
 set(__CMAKE_PARSE_ARGUMENTS_INCLUDED TRUE)
 
 
+define_property(DIRECTORY PROPERTY "CMAKE_PARSE_ARGUMENTS_DEFAULT_SKIP_EMPTY" 
INHERITED
+  BRIEF_DOCS "Whether empty arguments should be skipped or not by default."
+  FULL_DOCS
+  "See documentation of the cmake_parse_arguments() function in the "
+  "CMakeParseArguments module."
+  )
+
+
 function(CMAKE_PARSE_ARGUMENTS prefix _optionNames _singleArgNames 
_multiArgNames)
   # first set all result variables to empty/FALSE
   foreach(arg_name ${_singleArgNames} ${_multiArgNames})
@@ -117,8 +125,33 @@ function(CMAKE_PARSE_ARGUMENTS prefix _optionNames 
_singleArgNames _multiArgName
   set(insideValues FALSE)
   set(currentArgName)
 
+  get_property(_defaultSkipEmptySet DIRECTORY PROPERTY 
CMAKE_PARSE_ARGUMENTS_DEFAULT_SKIP_EMPTY SET)
+  get_property(_defaultSkipEmpty    DIRECTORY PROPERTY 
CMAKE_PARSE_ARGUMENTS_DEFAULT_SKIP_EMPTY)
+
+  if("x${ARGN}" MATCHES "^xCMAKE_PARSE_ARGUMENTS_(SKIP|KEEP)_EMPTY;?")
+    if("${CMAKE_MATCH_1}" STREQUAL "SKIP")
+        set(_skipEmpty 1)
+    elseif("${CMAKE_MATCH_1}" STREQUAL "KEEP")
+        set(_skipEmpty 0)
+    endif()
+    string(REGEX REPLACE "^${CMAKE_MATCH_0}" "" ARGN "x${ARGN}")
+  elseif(_defaultSkipEmptySet)
+    set(_skipEmpty ${_defaultSkipEmpty})
+  elseif(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 3.0.0)
+    # Keep compatibility with previous releases
+    set(_skipEmpty 1)
+  else()
+    set(_skipEmpty 0)
+  endif()
+
+  if(_skipEmpty)
+    set(_loopARGN ${ARGN})
+  else()
+    set(_loopARGN IN LISTS ARGN)
+  endif()
+
   # now iterate over all arguments and fill the result variables
-  foreach(currentArg IN LISTS ARGN)
+  foreach(currentArg ${_loopARGN})
     list(FIND _optionNames "${currentArg}" optionIndex)  # ... then this marks 
the end of the arguments belonging to this keyword
     list(FIND _singleArgNames "${currentArg}" singleArgIndex)  # ... then this 
marks the end of the arguments belonging to this keyword
     list(FIND _multiArgNames "${currentArg}" multiArgIndex)  # ... then this 
marks the end of the arguments belonging to this keyword
@@ -126,13 +159,25 @@ function(CMAKE_PARSE_ARGUMENTS prefix _optionNames 
_singleArgNames _multiArgName
     if(${optionIndex} EQUAL -1  AND  ${singleArgIndex} EQUAL -1  AND  
${multiArgIndex} EQUAL -1)
       if(insideValues)
         if("${insideValues}" STREQUAL "SINGLE")
-          set(${prefix}_${currentArgName} "${currentArg}")
+          if(_skipEmpty)
+            set(${prefix}_${currentArgName} ${currentArg})
+          else()
+            set(${prefix}_${currentArgName} "${currentArg}")
+          endif()
           set(insideValues FALSE)
         elseif("${insideValues}" STREQUAL "MULTI")
-          list(APPEND ${prefix}_${currentArgName} "${currentArg}")
+          if(_skipEmpty)
+            list(APPEND ${prefix}_${currentArgName} ${currentArg})
+          else()
+            list(APPEND ${prefix}_${currentArgName} "${currentArg}")
+          endif()
         endif()
       else()
-        list(APPEND ${prefix}_UNPARSED_ARGUMENTS "${currentArg}")
+        if(_skipEmpty)
+          list(APPEND ${prefix}_UNPARSED_ARGUMENTS ${currentArg})
+        else()
+          list(APPEND ${prefix}_UNPARSED_ARGUMENTS "${currentArg}")
+        endif()
       endif()
     else()
       if(NOT ${optionIndex} EQUAL -1)

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=65eeb81e64af3e40a346892afdd977494d1d2bac
commit 65eeb81e64af3e40a346892afdd977494d1d2bac
Author:     Daniele E. Domenichelli <daniele.domeniche...@iit.it>
AuthorDate: Tue Nov 5 15:31:49 2013 +0100
Commit:     Daniele E. Domenichelli <daniele.domeniche...@iit.it>
CommitDate: Tue Dec 3 15:50:51 2013 +0100

    CMakeParseArguments: Do not skip empty arguments
    
    Current implementation of cmake_parse_arguments skips empty arguments.
    
    For example:
    
      cmake_parse_arguments("OPTION" "SINGLE" "MULTI" ${ARGN})
    
    with ARGN that is set using something like:
    
      <args> SINGLE "" <more args>  # (<args>;SINGLE;;<more args>)
      <args> SINGLE ""  # (<args>;SINGLE;)
    
    it will fail in 4 different ways:
    
    1) because the "foreach" skips empty arguments.
    2) because list(APPEND <list> ${currentArg}) will fail to append an
       empty element to the list if ${currentArg} is an empty string.
    3) because set(${prefix}_${arg_name} ${${prefix}_${arg_name}} PARENT_SCOPE)
       will not set an empty variable to the parent scope if
       ${${prefix}_${arg_name}} is an empty string.
    4) because empty arguments are not passed to cmake_parse_arguments
       if not quoted, i.e. if ARGN="a;;b"
       * ${ARGN} will pass the arguments "a", "b"
       * "${ARGN}" will pass the arguments "a", "", "b".
    
    This patch fixes the first behaviour using foreach(IN LISTS) version,
    the second and the third by enclosing args in quotes where required, and
    finally fixes the documentation in order to suggest to use quoted
    "${ARGN}" in order not to miss the empty arguments at the end of the
    list.

diff --git a/Modules/CMakeParseArguments.cmake 
b/Modules/CMakeParseArguments.cmake
index 4248176..d96e9a4 100644
--- a/Modules/CMakeParseArguments.cmake
+++ b/Modules/CMakeParseArguments.cmake
@@ -45,7 +45,7 @@
 #      set(options OPTIONAL FAST)
 #      set(oneValueArgs DESTINATION RENAME)
 #      set(multiValueArgs TARGETS CONFIGURATIONS)
-#      cmake_parse_arguments(MY_INSTALL "${options}" "${oneValueArgs}" 
"${multiValueArgs}" ${ARGN} )
+#      cmake_parse_arguments(MY_INSTALL "${options}" "${oneValueArgs}" 
"${multiValueArgs}" "${ARGN}" )
 #      ...
 #
 #
@@ -118,7 +118,7 @@ function(CMAKE_PARSE_ARGUMENTS prefix _optionNames 
_singleArgNames _multiArgName
   set(currentArgName)
 
   # now iterate over all arguments and fill the result variables
-  foreach(currentArg ${ARGN})
+  foreach(currentArg IN LISTS ARGN)
     list(FIND _optionNames "${currentArg}" optionIndex)  # ... then this marks 
the end of the arguments belonging to this keyword
     list(FIND _singleArgNames "${currentArg}" singleArgIndex)  # ... then this 
marks the end of the arguments belonging to this keyword
     list(FIND _multiArgNames "${currentArg}" multiArgIndex)  # ... then this 
marks the end of the arguments belonging to this keyword
@@ -126,13 +126,13 @@ function(CMAKE_PARSE_ARGUMENTS prefix _optionNames 
_singleArgNames _multiArgName
     if(${optionIndex} EQUAL -1  AND  ${singleArgIndex} EQUAL -1  AND  
${multiArgIndex} EQUAL -1)
       if(insideValues)
         if("${insideValues}" STREQUAL "SINGLE")
-          set(${prefix}_${currentArgName} ${currentArg})
+          set(${prefix}_${currentArgName} "${currentArg}")
           set(insideValues FALSE)
         elseif("${insideValues}" STREQUAL "MULTI")
-          list(APPEND ${prefix}_${currentArgName} ${currentArg})
+          list(APPEND ${prefix}_${currentArgName} "${currentArg}")
         endif()
       else()
-        list(APPEND ${prefix}_UNPARSED_ARGUMENTS ${currentArg})
+        list(APPEND ${prefix}_UNPARSED_ARGUMENTS "${currentArg}")
       endif()
     else()
       if(NOT ${optionIndex} EQUAL -1)
@@ -152,9 +152,10 @@ function(CMAKE_PARSE_ARGUMENTS prefix _optionNames 
_singleArgNames _multiArgName
   endforeach()
 
   # propagate the result variables to the caller:
-  foreach(arg_name ${_singleArgNames} ${_multiArgNames} ${_optionNames})
-    set(${prefix}_${arg_name}  ${${prefix}_${arg_name}} PARENT_SCOPE)
+  foreach(arg_name ${_singleArgNames} ${_multiArgNames} ${_optionNames} 
UNPARSED_ARGUMENTS)
+    if(DEFINED ${prefix}_${arg_name})
+      set(${prefix}_${arg_name} "${${prefix}_${arg_name}}" PARENT_SCOPE)
+    endif()
   endforeach()
-  set(${prefix}_UNPARSED_ARGUMENTS ${${prefix}_UNPARSED_ARGUMENTS} 
PARENT_SCOPE)
 
 endfunction()

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=96cf67a21121779cdcd8afacfdd508efe1c1a2b5
commit 96cf67a21121779cdcd8afacfdd508efe1c1a2b5
Author:     Daniele E. Domenichelli <daniele.domeniche...@iit.it>
AuthorDate: Thu Nov 14 16:14:30 2013 +0100
Commit:     Daniele E. Domenichelli <daniele.domeniche...@iit.it>
CommitDate: Tue Dec 3 15:50:51 2013 +0100

    Make define_property() scriptable
    
    This will allow CMakeParseArguments and some other modules that use
    define_property (i.e. ExternalProject) to be used in script mode.

diff --git a/Source/cmDefinePropertyCommand.h b/Source/cmDefinePropertyCommand.h
index 8dc4d96..c4143cf 100644
--- a/Source/cmDefinePropertyCommand.h
+++ b/Source/cmDefinePropertyCommand.h
@@ -34,6 +34,13 @@ public:
    */
   virtual const char* GetName() const { return "define_property";}
 
+  /**
+   * This determines if the command is invoked when in script mode.
+   * define_property() will have no effect in script mode, but this will
+   * make many of the modules usable in cmake/ctest scripts.
+   */
+  virtual bool IsScriptable() const { return true; }
+
   cmTypeMacro(cmDefinePropertyCommand, cmCommand);
 private:
   std::string PropertyName;

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

Summary of changes:
 Modules/CMakeParseArguments.cmake                  |  182 +++++++++++++++++---
 Source/cmDefinePropertyCommand.h                   |    7 +
 Tests/RunCMake/CMakeLists.txt                      |    1 +
 .../CMakeParseArguments/ARGUMENT-KEEP.cmake        |   29 +++
 .../CMakeParseArguments/ARGUMENT-SKIP.cmake        |   27 +++
 .../{set => CMakeParseArguments}/CMakeLists.txt    |    0
 .../DifferentScope-subdir1/CMakeLists.txt          |    1 +
 .../DifferentScope-subdir2/CMakeLists.txt          |   10 +
 .../CMakeParseArguments/DifferentScope.cmake       |    4 +
 Tests/RunCMake/CMakeParseArguments/Example.cmake   |   70 ++++++++
 .../CMakeParseArguments/PROPERTY-KEEP.cmake        |   29 +++
 .../CMakeParseArguments/PROPERTY-SKIP.cmake        |   27 +++
 .../CMakeParseArguments/RunCMakeTest.cmake         |   10 +
 .../CMakeParseArguments/VERSION-KEEP.cmake         |   27 +++
 .../CMakeParseArguments/VERSION-SKIP.cmake         |   25 +++
 15 files changed, 422 insertions(+), 27 deletions(-)
 create mode 100644 Tests/RunCMake/CMakeParseArguments/ARGUMENT-KEEP.cmake
 create mode 100644 Tests/RunCMake/CMakeParseArguments/ARGUMENT-SKIP.cmake
 copy Tests/RunCMake/{set => CMakeParseArguments}/CMakeLists.txt (100%)
 create mode 100644 
Tests/RunCMake/CMakeParseArguments/DifferentScope-subdir1/CMakeLists.txt
 create mode 100644 
Tests/RunCMake/CMakeParseArguments/DifferentScope-subdir2/CMakeLists.txt
 create mode 100644 Tests/RunCMake/CMakeParseArguments/DifferentScope.cmake
 create mode 100644 Tests/RunCMake/CMakeParseArguments/Example.cmake
 create mode 100644 Tests/RunCMake/CMakeParseArguments/PROPERTY-KEEP.cmake
 create mode 100644 Tests/RunCMake/CMakeParseArguments/PROPERTY-SKIP.cmake
 create mode 100644 Tests/RunCMake/CMakeParseArguments/RunCMakeTest.cmake
 create mode 100644 Tests/RunCMake/CMakeParseArguments/VERSION-KEEP.cmake
 create mode 100644 Tests/RunCMake/CMakeParseArguments/VERSION-SKIP.cmake


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits

Reply via email to