summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmake/modules/FindAsn2Wrs.cmake16
-rw-r--r--cmake/modules/UseAsn2Wrs.cmake10
2 files changed, 22 insertions, 4 deletions
diff --git a/cmake/modules/FindAsn2Wrs.cmake b/cmake/modules/FindAsn2Wrs.cmake
new file mode 100644
index 0000000000..a618649f25
--- /dev/null
+++ b/cmake/modules/FindAsn2Wrs.cmake
@@ -0,0 +1,16 @@
+#
+# Look for the asn2wrs.py utility
+#
+
+find_program( ASN2WRS_EXECUTABLE
+ NAMES
+ asn2wrs.py
+ HINTS
+ # First try to find it in wireshark sources
+ ${CMAKE_SOURCE_DIR}/tools
+)
+
+include( FindPackageHandleStandardArgs )
+find_package_handle_standard_args( ASN2WRS DEFAULT_MSG ASN2WRS_EXECUTABLE )
+
+mark_as_advanced( ASN2WRS_EXECUTABLE )
diff --git a/cmake/modules/UseAsn2Wrs.cmake b/cmake/modules/UseAsn2Wrs.cmake
index 6d8cae861e..dd9f5d139d 100644
--- a/cmake/modules/UseAsn2Wrs.cmake
+++ b/cmake/modules/UseAsn2Wrs.cmake
@@ -1,5 +1,7 @@
#
MACRO(ASN2WRS)
+ find_package(Asn2Wrs REQUIRED)
+
set( DISSECTOR ${CMAKE_SOURCE_DIR}/epan/dissectors/packet-${PROTOCOL_NAME}.c )
if ( NOT PROTO_OPT )
@@ -12,7 +14,7 @@ MACRO(ASN2WRS)
# cause EXCLUDE_FROM_ALL to be ignored.
ADD_CUSTOM_TARGET(generate_dissector-${PROTOCOL_NAME} ALL
COMMAND ${PYTHON_EXECUTABLE}
- ${CMAKE_SOURCE_DIR}/tools/asn2wrs.py
+ ${ASN2WRS_EXECUTABLE}
${A2W_FLAGS}
${PROTO_OPT}
-c ${CMAKE_CURRENT_SOURCE_DIR}/${PROTOCOL_NAME}.cnf
@@ -21,7 +23,7 @@ MACRO(ASN2WRS)
-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
+ ${ASN2WRS_EXECUTABLE}
${SRC_FILES}
${EXTRA_CNF}
)
@@ -30,7 +32,7 @@ MACRO(ASN2WRS)
ADD_CUSTOM_TARGET( ${_asn2wrs_export_file}
WORKING_DIRECTORY .
COMMAND ${PYTHON_EXECUTABLE}
- ${CMAKE_SOURCE_DIR}/tools/asn2wrs.py
+ ${ASN2WRS_EXECUTABLE}
-E
${A2W_FLAGS}
${PROTO_OPT}
@@ -38,7 +40,7 @@ MACRO(ASN2WRS)
-D ${CMAKE_CURRENT_SOURCE_DIR}
${EXT_ASN_FILE_LIST} ${ASN_FILE_LIST} ${EXT_ASN_FILE_LIST_LATE}
DEPENDS
- ${CMAKE_SOURCE_DIR}/tools/asn2wrs.py
+ ${ASN2WRS_EXECUTABLE}
${SRC_FILES}
${EXPORT_DEPENDS}
)