[Cmake-commits] CMake branch, next, updated. v3.3.0-rc1-342-g5a919c2

Brad King brad.king at kitware.com
Tue Jun 9 10:26:20 EDT 2015


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  5a919c2389342205c99ba51f6f8ef57c978607b9 (commit)
       via  12e534c2b8ad0009aba746ee6e4b47423c52f3e3 (commit)
       via  eb859263aeffc79d73d046dbf9f5656e4c9739ef (commit)
       via  29985ad8948af74d8b6ad4e58428f65434e68f0c (commit)
       via  801b799f9d5f1d904c4605d19b798ed489be925d (commit)
      from  0fae1c377fbed45b45d8a1b5a624fa6b6cb297af (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=5a919c2389342205c99ba51f6f8ef57c978607b9
commit 5a919c2389342205c99ba51f6f8ef57c978607b9
Merge: 0fae1c3 12e534c
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Jun 9 10:26:19 2015 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Tue Jun 9 10:26:19 2015 -0400

    Merge topic 'FindBISON-DEFINES_FILE' into next
    
    12e534c2 FindBISON: Add DEFINES_FILE option to pass --defines=FILE
    eb859263 FindBISON: Use CMAKE_PARSE_ARGUMENTS to parse arguments
    29985ad8 FindBISON: Use BISON_TARGET macro argument names internally
    801b799f FindBISON: Improve documentation formatting


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=12e534c2b8ad0009aba746ee6e4b47423c52f3e3
commit 12e534c2b8ad0009aba746ee6e4b47423c52f3e3
Author:     Eon Jeong <eonikupy at gmail.com>
AuthorDate: Tue Jun 9 09:59:15 2015 +0900
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Jun 9 10:26:01 2015 -0400

    FindBISON: Add DEFINES_FILE option to pass --defines=FILE

diff --git a/Modules/FindBISON.cmake b/Modules/FindBISON.cmake
index 30d7c4f..7d81276 100644
--- a/Modules/FindBISON.cmake
+++ b/Modules/FindBISON.cmake
@@ -22,6 +22,7 @@
 #
 #   BISON_TARGET(<Name> <YaccInput> <CodeOutput>
 #                [COMPILE_FLAGS <flags>]
+#                [DEFINES_FILE <file>]
 #                [VERBOSE <file>]
 #                )
 #
@@ -35,6 +36,9 @@
 # ``COMPILE_FLAGS <flags>``
 #   Specify flags to be added to the ``bison`` command line.
 #
+# ``DEFINES_FILE <file>``
+#   Specify a non-default header ``<file>`` to be generated by ``bison``.
+#
 # ``VERBOSE <file>``
 #   Tell ``bison`` to write verbose descriptions of the grammar and
 #   parser to the given ``<file>``.
@@ -64,7 +68,8 @@
 # .. code-block:: cmake
 #
 #   find_package(BISON)
-#   BISON_TARGET(MyParser parser.y ${CMAKE_CURRENT_BINARY_DIR}/parser.cpp)
+#   BISON_TARGET(MyParser parser.y ${CMAKE_CURRENT_BINARY_DIR}/parser.cpp
+#                DEFINES_FILE ${CMAKE_CURRENT_BINARY_DIR}/parser.h)
 #   add_executable(Foo main.cpp ${BISON_MyParser_OUTPUTS})
 
 #=============================================================================
@@ -140,6 +145,12 @@ if(BISON_EXECUTABLE)
     list(APPEND BISON_TARGET_cmdopt ${BISON_TARGET_extraopts})
   endmacro()
 
+  # internal macro
+  macro(BISON_TARGET_option_defines Header)
+    set(BISON_TARGET_output_header "${Header}")
+    list(APPEND BISON_TARGET_cmdopt --defines=${BISON_TARGET_output_header})
+  endmacro()
+
   #============================================================
   # BISON_TARGET (public macro)
   #============================================================
@@ -154,6 +165,7 @@ if(BISON_EXECUTABLE)
     set(BISON_TARGET_PARAM_ONE_VALUE_KEYWORDS
       VERBOSE
       COMPILE_FLAGS
+      DEFINES_FILE
       )
     set(BISON_TARGET_PARAM_MULTI_VALUE_KEYWORDS)
     cmake_parse_arguments(
@@ -173,14 +185,19 @@ if(BISON_EXECUTABLE)
       if(NOT "${BISON_TARGET_ARG_COMPILE_FLAGS}" STREQUAL "")
         BISON_TARGET_option_extraopts("${BISON_TARGET_ARG_COMPILE_FLAGS}")
       endif()
+      if(NOT "${BISON_TARGET_ARG_DEFINES_FILE}" STREQUAL "")
+        BISON_TARGET_option_defines("${BISON_TARGET_ARG_DEFINES_FILE}")
+      endif()
 
-      # Header's name generated by bison (see option -d)
-      list(APPEND BISON_TARGET_cmdopt "-d")
-      string(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\2" _fileext "${BisonOutput}")
-      string(REPLACE "c" "h" _fileext ${_fileext})
-      string(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\1${_fileext}"
-          BISON_${Name}_OUTPUT_HEADER "${BisonOutput}")
-      list(APPEND BISON_TARGET_outputs "${BISON_${Name}_OUTPUT_HEADER}")
+      if("${BISON_TARGET_output_header}" STREQUAL "")
+        # Header's name generated by bison (see option -d)
+        list(APPEND BISON_TARGET_cmdopt "-d")
+        string(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\2" _fileext "${BisonOutput}")
+        string(REPLACE "c" "h" _fileext ${_fileext})
+        string(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\1${_fileext}"
+            BISON_TARGET_output_header "${BisonOutput}")
+      endif()
+      list(APPEND BISON_TARGET_outputs "${BISON_TARGET_output_header}")
 
       add_custom_command(OUTPUT ${BISON_TARGET_outputs}
         ${BISON_TARGET_extraoutputs}
@@ -196,6 +213,7 @@ if(BISON_EXECUTABLE)
       set(BISON_${Name}_OUTPUTS ${BISON_TARGET_outputs})
       set(BISON_${Name}_COMPILE_FLAGS ${BISON_TARGET_cmdopt})
       set(BISON_${Name}_OUTPUT_SOURCE "${BisonOutput}")
+      set(BISON_${Name}_OUTPUT_HEADER "${BISON_TARGET_output_header}")
 
     endif()
   endmacro()

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=eb859263aeffc79d73d046dbf9f5656e4c9739ef
commit eb859263aeffc79d73d046dbf9f5656e4c9739ef
Author:     Eon Jeong <eonikupy at gmail.com>
AuthorDate: Mon Jun 8 23:35:49 2015 +0900
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Jun 9 10:21:52 2015 -0400

    FindBISON: Use CMAKE_PARSE_ARGUMENTS to parse arguments

diff --git a/Modules/FindBISON.cmake b/Modules/FindBISON.cmake
index e1cad81..30d7c4f 100644
--- a/Modules/FindBISON.cmake
+++ b/Modules/FindBISON.cmake
@@ -84,6 +84,8 @@
 find_program(BISON_EXECUTABLE NAMES bison win_bison DOC "path to the bison executable")
 mark_as_advanced(BISON_EXECUTABLE)
 
+include(CMakeParseArguments)
+
 if(BISON_EXECUTABLE)
   # the bison commands should be executed with the C locale, otherwise
   # the message (which are parsed) may be translated
@@ -146,27 +148,30 @@ if(BISON_EXECUTABLE)
     set(BISON_TARGET_output_header "")
     set(BISON_TARGET_cmdopt "")
     set(BISON_TARGET_outputs "${BisonOutput}")
-    if(NOT ${ARGC} EQUAL 3 AND NOT ${ARGC} EQUAL 5 AND NOT ${ARGC} EQUAL 7)
+
+    # Parsing parameters
+    set(BISON_TARGET_PARAM_OPTIONS)
+    set(BISON_TARGET_PARAM_ONE_VALUE_KEYWORDS
+      VERBOSE
+      COMPILE_FLAGS
+      )
+    set(BISON_TARGET_PARAM_MULTI_VALUE_KEYWORDS)
+    cmake_parse_arguments(
+        BISON_TARGET_ARG
+        "${BISON_TARGET_PARAM_OPTIONS}"
+        "${BISON_TARGET_PARAM_ONE_VALUE_KEYWORDS}"
+        "${BISON_TARGET_PARAM_MULTI_VALUE_KEYWORDS}"
+        ${ARGN}
+    )
+
+    if(NOT "${BISON_TARGET_ARG_UNPARSED_ARGUMENTS}" STREQUAL "")
       message(SEND_ERROR "Usage")
     else()
-      # Parsing parameters
-      if(${ARGC} GREATER 5 OR ${ARGC} EQUAL 5)
-        if("${ARGV3}" STREQUAL "VERBOSE")
-          BISON_TARGET_option_verbose(${Name} ${BisonOutput} "${ARGV4}")
-        endif()
-        if("${ARGV3}" STREQUAL "COMPILE_FLAGS")
-          BISON_TARGET_option_extraopts("${ARGV4}")
-        endif()
+      if(NOT "${BISON_TARGET_ARG_VERBOSE}" STREQUAL "")
+        BISON_TARGET_option_verbose(${Name} ${BisonOutput} "${BISON_TARGET_ARG_VERBOSE}")
       endif()
-
-      if(${ARGC} EQUAL 7)
-        if("${ARGV5}" STREQUAL "VERBOSE")
-          BISON_TARGET_option_verbose(${Name} ${BisonOutput} "${ARGV6}")
-        endif()
-
-        if("${ARGV5}" STREQUAL "COMPILE_FLAGS")
-          BISON_TARGET_option_extraopts("${ARGV6}")
-        endif()
+      if(NOT "${BISON_TARGET_ARG_COMPILE_FLAGS}" STREQUAL "")
+        BISON_TARGET_option_extraopts("${BISON_TARGET_ARG_COMPILE_FLAGS}")
       endif()
 
       # Header's name generated by bison (see option -d)

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=29985ad8948af74d8b6ad4e58428f65434e68f0c
commit 29985ad8948af74d8b6ad4e58428f65434e68f0c
Author:     Eon Jeong <eonikupy at gmail.com>
AuthorDate: Mon Jun 8 23:35:49 2015 +0900
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Jun 9 10:21:51 2015 -0400

    FindBISON: Use BISON_TARGET macro argument names internally
    
    The macro argument names are much clearer than ${ARGV#} references.

diff --git a/Modules/FindBISON.cmake b/Modules/FindBISON.cmake
index 4002cc6..e1cad81 100644
--- a/Modules/FindBISON.cmake
+++ b/Modules/FindBISON.cmake
@@ -171,23 +171,23 @@ if(BISON_EXECUTABLE)
 
       # Header's name generated by bison (see option -d)
       list(APPEND BISON_TARGET_cmdopt "-d")
-      string(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\2" _fileext "${ARGV2}")
+      string(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\2" _fileext "${BisonOutput}")
       string(REPLACE "c" "h" _fileext ${_fileext})
       string(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\1${_fileext}"
-          BISON_${Name}_OUTPUT_HEADER "${ARGV2}")
+          BISON_${Name}_OUTPUT_HEADER "${BisonOutput}")
       list(APPEND BISON_TARGET_outputs "${BISON_${Name}_OUTPUT_HEADER}")
 
       add_custom_command(OUTPUT ${BISON_TARGET_outputs}
         ${BISON_TARGET_extraoutputs}
         COMMAND ${BISON_EXECUTABLE}
-        ARGS ${BISON_TARGET_cmdopt} -o ${ARGV2} ${ARGV1}
-        DEPENDS ${ARGV1}
+        ARGS ${BISON_TARGET_cmdopt} -o ${BisonOutput} ${BisonInput}
+        DEPENDS ${BisonInput}
         COMMENT "[BISON][${Name}] Building parser with bison ${BISON_VERSION}"
         WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
 
       # define target variables
       set(BISON_${Name}_DEFINED TRUE)
-      set(BISON_${Name}_INPUT ${ARGV1})
+      set(BISON_${Name}_INPUT ${BisonInput})
       set(BISON_${Name}_OUTPUTS ${BISON_TARGET_outputs})
       set(BISON_${Name}_COMPILE_FLAGS ${BISON_TARGET_cmdopt})
       set(BISON_${Name}_OUTPUT_SOURCE "${BisonOutput}")

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=801b799f9d5f1d904c4605d19b798ed489be925d
commit 801b799f9d5f1d904c4605d19b798ed489be925d
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Jun 9 10:21:07 2015 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Jun 9 10:21:42 2015 -0400

    FindBISON: Improve documentation formatting

diff --git a/Modules/FindBISON.cmake b/Modules/FindBISON.cmake
index ec3ee78..4002cc6 100644
--- a/Modules/FindBISON.cmake
+++ b/Modules/FindBISON.cmake
@@ -2,60 +2,70 @@
 # FindBISON
 # ---------
 #
-# Find bison executable and provides macros to generate custom build rules
+# Find ``bison`` executable and provide a macro to generate custom build rules.
 #
 # The module defines the following variables:
 #
-# ::
+# ``BISON_EXECUTABLE``
+#   path to the ``bison`` program
 #
-#   BISON_EXECUTABLE - path to the bison program
-#   BISON_VERSION - version of bison
-#   BISON_FOUND - true if the program was found
+# ``BISON_VERSION``
+#   version of ``bison``
 #
+# ``BISON_FOUND``
+#   true if the program was found
 #
+# The minimum required version of ``bison`` can be specified using the
+# standard CMake syntax, e.g.  ``find_package(BISON 2.1.3)``.
 #
-# The minimum required version of bison can be specified using the
-# standard CMake syntax, e.g.  find_package(BISON 2.1.3)
+# If ``bison`` is found, the module defines the macro::
 #
-# If bison is found, the module defines the macros:
+#   BISON_TARGET(<Name> <YaccInput> <CodeOutput>
+#                [COMPILE_FLAGS <flags>]
+#                [VERBOSE <file>]
+#                )
 #
-# ::
+# which will create a custom rule to generate a parser.  ``<YaccInput>`` is
+# the path to a yacc file.  ``<CodeOutput>`` is the name of the source file
+# generated by bison.  A header file is also be generated, and contains
+# the token list.
 #
-#   BISON_TARGET(<Name> <YaccInput> <CodeOutput> [VERBOSE <file>]
-#               [COMPILE_FLAGS <string>])
+# The options are:
 #
-# which will create a custom rule to generate a parser.  <YaccInput> is
-# the path to a yacc file.  <CodeOutput> is the name of the source file
-# generated by bison.  A header file is also be generated, and contains
-# the token list.  If COMPILE_FLAGS option is specified, the next
-# parameter is added in the bison command line.  if VERBOSE option is
-# specified, <file> is created and contains verbose descriptions of the
-# grammar and parser.  The macro defines a set of variables:
+# ``COMPILE_FLAGS <flags>``
+#   Specify flags to be added to the ``bison`` command line.
+#
+# ``VERBOSE <file>``
+#   Tell ``bison`` to write verbose descriptions of the grammar and
+#   parser to the given ``<file>``.
 #
-# ::
+# The macro defines the following variables:
 #
-#   BISON_${Name}_DEFINED - true is the macro ran successfully
-#   BISON_${Name}_INPUT - The input source file, an alias for <YaccInput>
-#   BISON_${Name}_OUTPUT_SOURCE - The source file generated by bison
-#   BISON_${Name}_OUTPUT_HEADER - The header file generated by bison
-#   BISON_${Name}_OUTPUTS - The sources files generated by bison
-#   BISON_${Name}_COMPILE_FLAGS - Options used in the bison command line
+# ``BISON_<Name>_DEFINED``
+#   true is the macro ran successfully
 #
+# ``BISON_<Name>_INPUT``
+#   The input source file, an alias for <YaccInput>
 #
+# ``BISON_<Name>_OUTPUT_SOURCE``
+#   The source file generated by bison
 #
-# ::
+# ``BISON_<Name>_OUTPUT_HEADER``
+#   The header file generated by bison
 #
-#   ====================================================================
-#   Example:
+# ``BISON_<Name>_OUTPUTS``
+#   The sources files generated by bison
 #
+# ``BISON_<Name>_COMPILE_FLAGS``
+#   Options used in the ``bison`` command line
 #
+# Example usage:
 #
-# ::
+# .. code-block:: cmake
 #
-#    find_package(BISON)
-#    BISON_TARGET(MyParser parser.y ${CMAKE_CURRENT_BINARY_DIR}/parser.cpp)
-#    add_executable(Foo main.cpp ${BISON_MyParser_OUTPUTS})
-#   ====================================================================
+#   find_package(BISON)
+#   BISON_TARGET(MyParser parser.y ${CMAKE_CURRENT_BINARY_DIR}/parser.cpp)
+#   add_executable(Foo main.cpp ${BISON_MyParser_OUTPUTS})
 
 #=============================================================================
 # Copyright 2009 Kitware, Inc.

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

Summary of changes:
 Modules/FindBISON.cmake |  155 ++++++++++++++++++++++++++++-------------------
 1 file changed, 94 insertions(+), 61 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list