diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:34:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:34:10 +0000 |
commit | e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc (patch) | |
tree | 68cb5ef9081156392f1dd62a00c6ccc1451b93df /cmake/modules/FindLEX.cmake | |
parent | Initial commit. (diff) | |
download | wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.tar.xz wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.zip |
Adding upstream version 4.2.2.upstream/4.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'cmake/modules/FindLEX.cmake')
-rw-r--r-- | cmake/modules/FindLEX.cmake | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/cmake/modules/FindLEX.cmake b/cmake/modules/FindLEX.cmake new file mode 100644 index 0000000..20caa09 --- /dev/null +++ b/cmake/modules/FindLEX.cmake @@ -0,0 +1,46 @@ +# +# - Find flex/lex executable +# + +include(FindChocolatey) + +find_program(LEX_EXECUTABLE + NAMES + win_flex + flex + lex + PATHS + ${CHOCOLATEY_BIN_PATH} + /bin + /usr/bin + /usr/local/bin + /sbin +) + +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(LEX DEFAULT_MSG LEX_EXECUTABLE) + +MARK_AS_ADVANCED(LEX_EXECUTABLE) + +# flex a .l file + +MACRO(ADD_LEX_FILES _source _generated) + FOREACH (_current_FILE ${ARGN}) + GET_FILENAME_COMPONENT(_in ${_current_FILE} ABSOLUTE) + GET_FILENAME_COMPONENT(_basename ${_current_FILE} NAME_WE) + + SET(_outc ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.c) + SET(_outh ${CMAKE_CURRENT_BINARY_DIR}/${_basename}_lex.h) + + ADD_CUSTOM_COMMAND( + OUTPUT ${_outc} ${_outh} + COMMAND ${LEX_EXECUTABLE} $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:--debug> -o${_outc} --header-file=${_outh} ${_in} + DEPENDS ${_in} + ) + LIST(APPEND ${_source} ${_in}) + LIST(APPEND ${_generated} ${_outc}) + INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) + INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) + ENDFOREACH (_current_FILE) +ENDMACRO(ADD_LEX_FILES) + |