summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaarten Bezemer <maarten.bezemer@gmail.com>2014-11-11 17:11:11 +0100
committerAnders Broman <a.broman58@gmail.com>2014-12-17 09:05:03 +0000
commitfb01f59e6924105c9ceebb6e545fc0b299c69643 (patch)
tree6000b5af18d058d68bef06afbdeb31ec0b5596bd
parentc083f50bafcb981f7a83a931147b6fb9773bf474 (diff)
downloadwireshark-fb01f59e6924105c9ceebb6e545fc0b299c69643.tar.gz
Use FindAsn2Wrs to find asn2wrs.py
A first step to make it possible to reuse the UseAsn2Wrs for out of source builds. Change-Id: Iefb34f943e06db3d6afed55ab69d3f26aa9d633d Reviewed-on: https://code.wireshark.org/review/5253 Reviewed-by: Anders Broman <a.broman58@gmail.com>
-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}
)