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 d21ed9a402e0056501539f5c2535991936131d59 (commit) via 4565a2e1c2643fcd1b40f4a041564fc4ab60c17c (commit) via db3d85059c2e48b1a4da99230098f63d04dd4e93 (commit) via c26ff8a90b985f7189aa114b0bcac35b2f476b55 (commit) via 30710b8d32344a7a9acf944f97fc947fd491cd65 (commit) from 6f61eaec79937e9706c86346dd419f1a7bcd6ab5 (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=d21ed9a402e0056501539f5c2535991936131d59 commit d21ed9a402e0056501539f5c2535991936131d59 Merge: 6f61eae 4565a2e Author: Brad King <brad.k...@kitware.com> AuthorDate: Mon Oct 19 13:19:53 2015 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Mon Oct 19 13:19:53 2015 -0400 Merge topic 'FindFLEX-DEFINES_FILE' into next 4565a2e1 Help: Add notes for topic 'FindFLEX-DEFINES_FILE' db3d8505 FindFLEX: Add a DEFINES_FILE option to specify flex-generated header (#15781) c26ff8a9 FindFLEX: Fix typo in ADD_FLEX_BISON_DEPENDENCY errors 30710b8d FindFLEX: Use CMAKE_PARSE_ARGUMENTS to parse arguments https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4565a2e1c2643fcd1b40f4a041564fc4ab60c17c commit 4565a2e1c2643fcd1b40f4a041564fc4ab60c17c Author: Brad King <brad.k...@kitware.com> AuthorDate: Mon Oct 19 13:19:11 2015 -0400 Commit: Brad King <brad.k...@kitware.com> CommitDate: Mon Oct 19 13:19:11 2015 -0400 Help: Add notes for topic 'FindFLEX-DEFINES_FILE' diff --git a/Help/release/dev/FindFLEX-DEFINES_FILE.rst b/Help/release/dev/FindFLEX-DEFINES_FILE.rst new file mode 100644 index 0000000..95133aa --- /dev/null +++ b/Help/release/dev/FindFLEX-DEFINES_FILE.rst @@ -0,0 +1,6 @@ +FindFLEX-DEFINES_FILE +--------------------- + +* The :module:`FindFLEX` module ``FLEX_TARGET`` macro learned a + new ``DEFINES_FILE`` option to specify a custom output header + to be generated. https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=db3d85059c2e48b1a4da99230098f63d04dd4e93 commit db3d85059c2e48b1a4da99230098f63d04dd4e93 Author: Chris Davies <chrislewel...@googlemail.com> AuthorDate: Sat Oct 17 17:51:51 2015 +0100 Commit: Brad King <brad.k...@kitware.com> CommitDate: Mon Oct 19 13:10:43 2015 -0400 FindFLEX: Add a DEFINES_FILE option to specify flex-generated header (#15781) diff --git a/Modules/FindFLEX.cmake b/Modules/FindFLEX.cmake index 55a9537..ca66493 100644 --- a/Modules/FindFLEX.cmake +++ b/Modules/FindFLEX.cmake @@ -27,13 +27,17 @@ # # :: # -# FLEX_TARGET(Name FlexInput FlexOutput [COMPILE_FLAGS <string>]) +# FLEX_TARGET(Name FlexInput FlexOutput +# [COMPILE_FLAGS <string>] +# [DEFINES_FILE <string>] +# ) # # which creates a custom command to generate the <FlexOutput> file from # the <FlexInput> file. If COMPILE_FLAGS option is specified, the next -# parameter is added to the flex command line. Name is an alias used to -# get details of this custom command. Indeed the macro defines the -# following variables: +# parameter is added to the flex command line. If flex is configured to +# output a header file, the DEFINES_FILE option may be used to specify its +# name. Name is an alias used to get details of this custom command. +# Indeed the macro defines the following variables: # # :: # @@ -41,6 +45,7 @@ # FLEX_${Name}_OUTPUTS - the source file generated by the custom rule, an # alias for FlexOutput # FLEX_${Name}_INPUT - the flex source file, an alias for ${FlexInput} +# FLEX_${Name}_OUTPUT_HEADER - the header flex output, if any. # # # @@ -147,11 +152,13 @@ if(FLEX_EXECUTABLE) #============================================================ # macro(FLEX_TARGET Name Input Output) + set(FLEX_TARGET_outputs "${Output}") set(FLEX_EXECUTABLE_opts "") set(FLEX_TARGET_PARAM_OPTIONS) set(FLEX_TARGET_PARAM_ONE_VALUE_KEYWORDS COMPILE_FLAGS + DEFINES_FILE ) set(FLEX_TARGET_PARAM_MULTI_VALUE_KEYWORDS) @@ -163,7 +170,7 @@ if(FLEX_EXECUTABLE) ${ARGN} ) - set(FLEX_TARGET_usage "FLEX_TARGET(<Name> <Input> <Output> [COMPILE_FLAGS <string>]") + set(FLEX_TARGET_usage "FLEX_TARGET(<Name> <Input> <Output> [COMPILE_FLAGS <string>] [DEFINES_FILE <string>]") if(NOT "${FLEX_TARGET_ARG_UNPARSED_ARGUMENTS}" STREQUAL "") message(SEND_ERROR ${FLEX_TARGET_usage}) @@ -172,8 +179,12 @@ if(FLEX_EXECUTABLE) set(FLEX_EXECUTABLE_opts "${FLEX_TARGET_ARG_COMPILE_FLAGS}") separate_arguments(FLEX_EXECUTABLE_opts) endif() + if(NOT "${FLEX_TARGET_ARG_DEFINES_FILE}" STREQUAL "") + list(APPEND FLEX_TARGET_outputs "${FLEX_TARGET_ARG_DEFINES_FILE}") + list(APPEND FLEX_EXECUTABLE_opts --header-file=${FLEX_TARGET_ARG_DEFINES_FILE}) + endif() - add_custom_command(OUTPUT ${Output} + add_custom_command(OUTPUT ${FLEX_TARGET_outputs} COMMAND ${FLEX_EXECUTABLE} ARGS ${FLEX_EXECUTABLE_opts} -o${Output} ${Input} DEPENDS ${Input} @@ -184,6 +195,11 @@ if(FLEX_EXECUTABLE) set(FLEX_${Name}_OUTPUTS ${Output}) set(FLEX_${Name}_INPUT ${Input}) set(FLEX_${Name}_COMPILE_FLAGS ${FLEX_EXECUTABLE_opts}) + if("${FLEX_TARGET_ARG_DEFINES_FILE}" STREQUAL "") + set(FLEX_${Name}_OUTPUT_HEADER "") + else() + set(FLEX_${Name}_OUTPUT_HEADER ${FLEX_TARGET_ARG_DEFINES_FILE}) + endif() endif() endmacro() #============================================================ https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c26ff8a90b985f7189aa114b0bcac35b2f476b55 commit c26ff8a90b985f7189aa114b0bcac35b2f476b55 Author: Chris Davies <chrislewel...@googlemail.com> AuthorDate: Sat Oct 17 17:50:00 2015 +0100 Commit: Brad King <brad.k...@kitware.com> CommitDate: Mon Oct 19 09:55:37 2015 -0400 FindFLEX: Fix typo in ADD_FLEX_BISON_DEPENDENCY errors diff --git a/Modules/FindFLEX.cmake b/Modules/FindFLEX.cmake index 8ede93b..55a9537 100644 --- a/Modules/FindFLEX.cmake +++ b/Modules/FindFLEX.cmake @@ -196,11 +196,11 @@ if(FLEX_EXECUTABLE) macro(ADD_FLEX_BISON_DEPENDENCY FlexTarget BisonTarget) if(NOT FLEX_${FlexTarget}_OUTPUTS) - message(SEND_ERROR "Flex target `${FlexTarget}' does not exists.") + message(SEND_ERROR "Flex target `${FlexTarget}' does not exist.") endif() if(NOT BISON_${BisonTarget}_OUTPUT_HEADER) - message(SEND_ERROR "Bison target `${BisonTarget}' does not exists.") + message(SEND_ERROR "Bison target `${BisonTarget}' does not exist.") endif() set_source_files_properties(${FLEX_${FlexTarget}_OUTPUTS} https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=30710b8d32344a7a9acf944f97fc947fd491cd65 commit 30710b8d32344a7a9acf944f97fc947fd491cd65 Author: Chris Davies <chrislewel...@googlemail.com> AuthorDate: Sat Oct 17 17:50:00 2015 +0100 Commit: Brad King <brad.k...@kitware.com> CommitDate: Mon Oct 19 09:46:25 2015 -0400 FindFLEX: Use CMAKE_PARSE_ARGUMENTS to parse arguments diff --git a/Modules/FindFLEX.cmake b/Modules/FindFLEX.cmake index c837c52..8ede93b 100644 --- a/Modules/FindFLEX.cmake +++ b/Modules/FindFLEX.cmake @@ -113,6 +113,8 @@ find_path(FLEX_INCLUDE_DIR FlexLexer.h mark_as_advanced(FL_LIBRARY FLEX_INCLUDE_DIR) +include(${CMAKE_CURRENT_LIST_DIR}/CMakeParseArguments.cmake) + set(FLEX_INCLUDE_DIRS ${FLEX_INCLUDE_DIR}) set(FLEX_LIBRARIES ${FL_LIBRARY}) @@ -145,31 +147,44 @@ if(FLEX_EXECUTABLE) #============================================================ # macro(FLEX_TARGET Name Input Output) + set(FLEX_EXECUTABLE_opts "") + + set(FLEX_TARGET_PARAM_OPTIONS) + set(FLEX_TARGET_PARAM_ONE_VALUE_KEYWORDS + COMPILE_FLAGS + ) + set(FLEX_TARGET_PARAM_MULTI_VALUE_KEYWORDS) + + cmake_parse_arguments( + FLEX_TARGET_ARG + "${FLEX_TARGET_PARAM_OPTIONS}" + "${FLEX_TARGET_PARAM_ONE_VALUE_KEYWORDS}" + "${FLEX_TARGET_MULTI_VALUE_KEYWORDS}" + ${ARGN} + ) + set(FLEX_TARGET_usage "FLEX_TARGET(<Name> <Input> <Output> [COMPILE_FLAGS <string>]") - if(${ARGC} GREATER 3) - if(${ARGC} EQUAL 5) - if("${ARGV3}" STREQUAL "COMPILE_FLAGS") - set(FLEX_EXECUTABLE_opts "${ARGV4}") - separate_arguments(FLEX_EXECUTABLE_opts) - else() - message(SEND_ERROR ${FLEX_TARGET_usage}) - endif() - else() - message(SEND_ERROR ${FLEX_TARGET_usage}) + + if(NOT "${FLEX_TARGET_ARG_UNPARSED_ARGUMENTS}" STREQUAL "") + message(SEND_ERROR ${FLEX_TARGET_usage}) + else() + if(NOT "${FLEX_TARGET_ARG_COMPILE_FLAGS}" STREQUAL "") + set(FLEX_EXECUTABLE_opts "${FLEX_TARGET_ARG_COMPILE_FLAGS}") + separate_arguments(FLEX_EXECUTABLE_opts) endif() - endif() - add_custom_command(OUTPUT ${Output} - COMMAND ${FLEX_EXECUTABLE} - ARGS ${FLEX_EXECUTABLE_opts} -o${Output} ${Input} - DEPENDS ${Input} - COMMENT "[FLEX][${Name}] Building scanner with flex ${FLEX_VERSION}" - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) - - set(FLEX_${Name}_DEFINED TRUE) - set(FLEX_${Name}_OUTPUTS ${Output}) - set(FLEX_${Name}_INPUT ${Input}) - set(FLEX_${Name}_COMPILE_FLAGS ${FLEX_EXECUTABLE_opts}) + add_custom_command(OUTPUT ${Output} + COMMAND ${FLEX_EXECUTABLE} + ARGS ${FLEX_EXECUTABLE_opts} -o${Output} ${Input} + DEPENDS ${Input} + COMMENT "[FLEX][${Name}] Building scanner with flex ${FLEX_VERSION}" + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) + + set(FLEX_${Name}_DEFINED TRUE) + set(FLEX_${Name}_OUTPUTS ${Output}) + set(FLEX_${Name}_INPUT ${Input}) + set(FLEX_${Name}_COMPILE_FLAGS ${FLEX_EXECUTABLE_opts}) + endif() endmacro() #============================================================ ----------------------------------------------------------------------- Summary of changes: Help/release/dev/FindFLEX-DEFINES_FILE.rst | 6 ++ Modules/FindFLEX.cmake | 87 +++++++++++++++++++--------- 2 files changed, 65 insertions(+), 28 deletions(-) create mode 100644 Help/release/dev/FindFLEX-DEFINES_FILE.rst hooks/post-receive -- CMake _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits