view cmake/Modules/CMakeUserUseFlex.cmake @ 1502:515421a9ac5e

Add 3GPP TS 29.154 V15.3.0 (2019-09) Add AVPs: - Network-Area-Info-List, OctetString, code 4201, section 5.3.2 - Number-Of-UEs, Unsigned32, code 4209, section 5.3.10 - Reference-Id, OctetString, code 4202, section 5.3.3 - Transfer-Request-Type, Unsigned32, code 4203, section 5.3.4 - Time-Window, Grouped, code 4204, section 5.3.5 - Transfer-End-Time, Time, code 4205, section 5.3.6 - Transfer-Policy, Grouped, code 4207, section 5.3.8 - Transfer-Policy-Id, Unsigned32, code 4208, section 5.3.9 - Transfer-Start-Time, Time, code 4206, section 5.3.7 - Access-Network-Reports, Grouped, code 4210, section A.6.3.2 - Event-Configuration, Grouped, code 4211, section A.6.3.3 - Event-Configuration-State, Unsigned32, code 4212, section A.6.3.4 - Event-Configuration-Status, Grouped, code 4213, section A.6.3.5 - Event-Reporting-Results, Unsigned32, code 4214, section A.6.3.6 - Event-Reports, Grouped, code 4215, section A.6.3.7 - Extended-SCEF-Reference-ID, Unsigned64, code 4216, section A.6.3.8
author Luke Mewburn <luke@mewburn.net>
date Fri, 03 Apr 2020 15:33:12 +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"