aboutsummaryrefslogtreecommitdiffstats
path: root/cmake/modules/UseAsn2Wrs.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/modules/UseAsn2Wrs.cmake')
-rw-r--r--cmake/modules/UseAsn2Wrs.cmake44
1 files changed, 44 insertions, 0 deletions
diff --git a/cmake/modules/UseAsn2Wrs.cmake b/cmake/modules/UseAsn2Wrs.cmake
new file mode 100644
index 0000000000..72c4096d07
--- /dev/null
+++ b/cmake/modules/UseAsn2Wrs.cmake
@@ -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()