view cmake/Modules/CMakeUserUseFlex.cmake @ 1447:652aa883aae7

Add 3GPP TS 29.128 V15.6.0 (2019-09) Add Communication-Failure-Information, Grouped, code 4300, section 6.4.4 Add Cause-Type, Unsigned32, code 4301, section 6.4.5 Add S1AP-Cause, Unsigned32, code 4302, section 6.4.6 Add RANAP-Cause, Unsigned32, code 4303, section 6.4.7 Add BSSGP-Cause, Unsigned32, code 4309, section 6.4.8 Add GMM-Cause, Unsigned32, code 4304, section 6.4.9 Add SM-Cause, Unsigned32, code 4305, section 6.4.10 Add Number-Of-UE-Per-Location-Configuration, Grouped, code 4306, section 6.4.11 Add Number-Of-UE-Per-Location-Report, Grouped, code 4307, section 6.4.12 Add UE-Count, Unsigned32, code 4308, section 6.4.13 Add Connection-Action, Unsigned32, code 4314, section 6.4.18 Add Non-IP-Data, OctetString, code 4315, section 6.4.19 Add Serving-PLMN-Rate-Control, Grouped, code 4310, section 6.4.21 Add Uplink-Rate-Limit, Unsigned32, code 4311, section 6.4.23 Add Downlink-Rate-Limit, Unsigned32, code 4312, section 6.4.22 Add Extended-PCO, OctetString, code 4313, section 6.4.26 Add SCEF-Wait-Time, Time, code 4316, section 6.4.24 Add CMR-Flags, Unsigned32, code 4317, section 6.4.25 Add RRC-Cause-Counter, Grouped, code 4318, section 6.4.27 Add Counter-Value, Unsigned32, code 4319, section 6.4.28 Add RRC-Counter-Timestamp, Time, code 4320, section 6.4.29 Add TDA-Flags, Unsigned32, code 4321, section 6.4.31 Add Idle-Status-Indication, Grouped, code 4322, section 6.4.32 Add Idle-Status-Timestamp, Time, code 4323, section 6.4.33 Add Active-Time, Unsigned32, code 4324, section 6.4.34
author Luke Mewburn <luke@mewburn.net>
date Thu, 27 Feb 2020 20:42:01 +1100
parents ad3c46016584
children
line wrap: on
line source

# - Look for GNU flex, the lexer generator.
# Defines the following:
#  FLEX_EXECUTABLE - path to the flex executable
#  FLEX_FILE - parse a file with flex
#  FLEX_PREFIX_OUTPUTS - Set to true to make FLEX_FILE produce outputs of
#                        lex.${filename}.c, not lex.yy.c . Passes -P to flex. 

IF(NOT DEFINED FLEX_PREFIX_OUTPUTS)
  SET(FLEX_PREFIX_OUTPUTS FALSE)
ENDIF(NOT DEFINED FLEX_PREFIX_OUTPUTS) 

IF(NOT FLEX_EXECUTABLE)
  MESSAGE(STATUS "Looking for flex")
  FIND_PROGRAM(FLEX_EXECUTABLE flex)
  IF(FLEX_EXECUTABLE)
    MESSAGE(STATUS "Looking for flex -- ${FLEX_EXECUTABLE}")
  ENDIF(FLEX_EXECUTABLE)
 MARK_AS_ADVANCED(FLEX_EXECUTABLE)
ENDIF(NOT FLEX_EXECUTABLE) 

IF(FLEX_EXECUTABLE)
  MACRO(FLEX_FILE FILENAME)
    GET_FILENAME_COMPONENT(PATH "${FILENAME}" PATH)
    IF("${PATH}" STREQUAL "")
      SET(PATH_OPT "")
    ELSE("${PATH}" STREQUAL "")
      SET(PATH_OPT "/${PATH}")
    ENDIF("${PATH}" STREQUAL "")
    IF(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}${PATH_OPT}")
      FILE(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}${PATH_OPT}")
    ENDIF(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}${PATH_OPT}")
    IF(FLEX_PREFIX_OUTPUTS)
      GET_FILENAME_COMPONENT(PREFIX "${FILENAME}" NAME_WE)
    ELSE(FLEX_PREFIX_OUTPUTS)
      SET(PREFIX "yy")
    ENDIF(FLEX_PREFIX_OUTPUTS)
    SET(OUTFILE "${CMAKE_CURRENT_BINARY_DIR}${PATH_OPT}/lex.${PREFIX}.c")
    ADD_CUSTOM_COMMAND(
      OUTPUT "${OUTFILE}"
      COMMAND "${FLEX_EXECUTABLE}"
      ARGS "-P${PREFIX}"
      "-o${OUTFILE}"
      "${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}"
      DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME}")
    SET_SOURCE_FILES_PROPERTIES("${OUTFILE}" PROPERTIES GENERATED TRUE)
  ENDMACRO(FLEX_FILE)
ENDIF(FLEX_EXECUTABLE)
"Welcome to our mercurial repository"