Skip to content

Commit

Permalink
Move common code into UseAsn2Wrs.cmake.
Browse files Browse the repository at this point in the history
Include the new file.
Use the new file.
Add cmake support to rebuild the gsm_map dissector.

svn path=/trunk/; revision=49194
  • Loading branch information
Jörg Mayer committed May 7, 2013
1 parent 1b6e830 commit 5ba4589
Show file tree
Hide file tree
Showing 4 changed files with 136 additions and 43 deletions.
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
INCLUDE(UseLemon)
INCLUDE(UseMakeDissectorReg)
INCLUDE(UseMakeTapReg)
INCLUDE(UseAsn2Wrs)

# Under linux the release mode (CMAKE_BUILD_TYPE=release) defines NDEBUG

Expand Down
56 changes: 13 additions & 43 deletions asn1/HI2Operations/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,57 +25,27 @@ set( PROTOCOL_NAME HI2Operations )

set( ASN_FILE_LIST
HI2Operations_ver11.asn
UmtsHI2Operations.asn
TS101909201.asn
PCESP.asn
EN301040.asn
UmtsHI2Operations.asn
TS101909201.asn
PCESP.asn
EN301040.asn
)

set( EXTRA_DIST
${ASN_FILE_LIST}
packet-${PROTOCOL_NAME}-template.c
${PROTOCOL_NAME}.cnf
)

set( SRC_FILES
${EXTRA_DIST}
${EXT_ASN_FILE_LIST}
${EXTRA_DIST}
${EXT_ASN_FILE_LIST}
)

set( A2W_FLAGS -b )

set( EXTRA_CNF
)

set( DISSECTOR ${CMAKE_SOURCE_DIR}/epan/dissectors/packet-${PROTOCOL_NAME}.c )

if ( NOT PROTO_OPT )
set( PROTO_OPT -p ${PROTOCOL_NAME} )
endif()

# Don't use packet-${PROTOCOL_NAME}.c instead of generate_dissector, it will
# cause EXCLUDE_FROM_ALL to be ignored.
ADD_CUSTOM_TARGET(generate_dissector ALL
COMMAND ${PYTHON_EXECUTABLE}
${CMAKE_SOURCE_DIR}/tools/asn2wrs.py
${A2W_FLAGS}
${PROTO_OPT}
-c ${CMAKE_CURRENT_SOURCE_DIR}/${PROTOCOL_NAME}.cnf
-s ${CMAKE_CURRENT_SOURCE_DIR}/packet-${PROTOCOL_NAME}-template
-D ${CMAKE_CURRENT_SOURCE_DIR}
-O ${CMAKE_SOURCE_DIR}/epan/dissectors
${EXT_ASN_FILE_LIST} ${ASN_FILE_LIST} ${EXT_ASN_FILE_LIST_LATE}
DEPENDS
${CMAKE_SOURCE_DIR}/tools/asn2wrs.py
${SRC_FILES}
${EXTRA_CNF}
)

ADD_CUSTOM_TARGET(generate_export ALL
COMMAND ${PYTHON_EXECUTABLE}
${CMAKE_SOURCE_DIR}/tools/asn2wrs.py
-E
${A2W_FLAGS}
${PROTO_OPT}
-c ${CMAKE_CURRENT_SOURCE_DIR}/${PROTOCOL_NAME}.cnf
-D ${CMAKE_CURRENT_SOURCE_DIR}
${EXT_ASN_FILE_LIST} ${ASN_FILE_LIST} ${EXT_ASN_FILE_LIST_LATE}
DEPENDS
${CMAKE_SOURCE_DIR}/tools/asn2wrs.py
${SRC_FILES}
)
ASN2WRS()

78 changes: 78 additions & 0 deletions asn1/gsm_map/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,81 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#

set( PROTOCOL_NAME gsm_map )

set( PROTO_OPT _EMPTY_ )

#EXPORT_FILES = \
# $(PROTOCOL_NAME)-exp.cnf

set( EXT_ASN_FILE_LIST
../ros/Remote-Operations-Information-Objects.asn
)

set( DATATYPES_ASN_FILES
MAP-ExtensionDataTypes.asn
MAP-CommonDataTypes.asn
MAP-SS-DataTypes.asn
MAP-ER-DataTypes.asn
MAP-SM-DataTypes.asn
MAP-OM-DataTypes.asn
MAP-MS-DataTypes.asn
MAP-CH-DataTypes.asn
MAP-LCS-DataTypes.asn
MAP-GR-DataTypes.asn
)

set( OPERATIONS_ASN_FILES
MAP-LocationServiceOperations.asn
MAP-Group-Call-Operations.asn
MAP-ShortMessageServiceOperations.asn
MAP-SupplementaryServiceOperations.asn
MAP-CallHandlingOperations.asn
MAP-OperationAndMaintenanceOperations.asn
MAP-MobileServiceOperations.asn
)

set( SS_ASN_FILES
SS-DataTypes.asn
SS-Operations.asn
)

set( PROPRIETARY_ASN_FILES
Ericsson.asn
)

set( ASN_FILE_LIST
MobileDomainDefinitions.asn
MAP-ApplicationContexts.asn
MAP-SS-Code.asn
MAP-BS-Code.asn
MAP-TS-Code.asn
${DATATYPES_ASN_FILES}
MAP-DialogueInformation.asn
${OPERATIONS_ASN_FILES}
MAP-Errors.asn
MAP-Protocol.asn
GSMMAP.asn
${SS_ASN_FILES}
${PROPRIETARY_ASN_FILES}
)

set( EXTRA_DIST
${ASN_FILE_LIST}
packet-${PROTOCOL_NAME}-template.c
packet-${PROTOCOL_NAME}-template.h
${PROTOCOL_NAME}.cnf
)

set( SRC_FILES
${EXTRA_DIST}
${EXT_ASN_FILE_LIST}
)

set( A2W_FLAGS -b )

set( EXTRA_CNF
)

ASN2WRS()

44 changes: 44 additions & 0 deletions cmake/modules/UseAsn2Wrs.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#
# $Id$
#
MACRO(ASN2WRS)
set( DISSECTOR ${CMAKE_SOURCE_DIR}/epan/dissectors/packet-${PROTOCOL_NAME}.c )

if ( NOT PROTO_OPT )
set( PROTO_OPT -p ${PROTOCOL_NAME} )
elseif ( PROTO_OPT STREQUAL "_EMPTY_" )
set( PROTO_OPT )
endif()

# Don't use packet-${PROTOCOL_NAME}.c instead of generate_dissector, it will
# cause EXCLUDE_FROM_ALL to be ignored.
ADD_CUSTOM_TARGET(generate_dissector-${PROTOCOL_NAME} ALL
COMMAND ${PYTHON_EXECUTABLE}
${CMAKE_SOURCE_DIR}/tools/asn2wrs.py
${A2W_FLAGS}
${PROTO_OPT}
-c ${CMAKE_CURRENT_SOURCE_DIR}/${PROTOCOL_NAME}.cnf
-s ${CMAKE_CURRENT_SOURCE_DIR}/packet-${PROTOCOL_NAME}-template
-D ${CMAKE_CURRENT_SOURCE_DIR}
-O ${CMAKE_SOURCE_DIR}/epan/dissectors
${EXT_ASN_FILE_LIST} ${ASN_FILE_LIST} ${EXT_ASN_FILE_LIST_LATE}
DEPENDS
${CMAKE_SOURCE_DIR}/tools/asn2wrs.py
${SRC_FILES}
${EXTRA_CNF}
)

ADD_CUSTOM_TARGET(generate_export-${PROTOCOL_NAME} ALL
COMMAND ${PYTHON_EXECUTABLE}
${CMAKE_SOURCE_DIR}/tools/asn2wrs.py
-E
${A2W_FLAGS}
${PROTO_OPT}
-c ${CMAKE_CURRENT_SOURCE_DIR}/${PROTOCOL_NAME}.cnf
-D ${CMAKE_CURRENT_SOURCE_DIR}
${EXT_ASN_FILE_LIST} ${ASN_FILE_LIST} ${EXT_ASN_FILE_LIST_LATE}
DEPENDS
${CMAKE_SOURCE_DIR}/tools/asn2wrs.py
${SRC_FILES}
)
ENDMACRO()

0 comments on commit 5ba4589

Please sign in to comment.