[Cmake-commits] CMake branch, next, updated. v3.4.0-rc1-709-gd21ed9a
Brad King
brad.king at kitware.com
Mon Oct 19 13:19:54 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 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.king at kitware.com>
AuthorDate: Mon Oct 19 13:19:53 2015 -0400
Commit: CMake Topic Stage <kwrobot at 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.king at kitware.com>
AuthorDate: Mon Oct 19 13:19:11 2015 -0400
Commit: Brad King <brad.king at 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 <chrislewellyn at googlemail.com>
AuthorDate: Sat Oct 17 17:51:51 2015 +0100
Commit: Brad King <brad.king at 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 <chrislewellyn at googlemail.com>
AuthorDate: Sat Oct 17 17:50:00 2015 +0100
Commit: Brad King <brad.king at 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 <chrislewellyn at googlemail.com>
AuthorDate: Sat Oct 17 17:50:00 2015 +0100
Commit: Brad King <brad.king at 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
More information about the Cmake-commits
mailing list