# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
+include(UseABICheck)
+
if (HAVE_LIBLUA)
include( wslua/CMakeLists.txt )
endif()
+source_group(wslua FILES ${WSLUA_FILES})
+
if (HAVE_LIBPYTHON)
include( wspython/CMakeLists.txt )
endif()
+source_group(wspython FILES ${WSPYTHON_FILES})
add_subdirectory( dissectors/dcerpc )
crypt/airpdcap_rijndael.c
crypt/airpdcap_tkip.c
)
+source_group(crypt FILES ${CRYPT_FILES})
set(DFILTER_FILES
dfilter/dfilter.c
dfilter/sttype-test.c
dfilter/syntax-tree.c
)
+source_group(dfilter FILES ${DFILTER_FILES})
set(DFILTER_CLEAN_FILES
${DFILTER_FILES}
dissectors/packet-h501.c
dissectors/packet-hnbap.c
dissectors/packet-idmp.c
+ dissectors/packet-ilp.c
dissectors/packet-inap.c
dissectors/packet-isdn-sup.c
dissectors/packet-lcsap.c
dissectors/packet-hsr.c
dissectors/packet-hsrp.c
dissectors/packet-http.c
+ dissectors/packet-http2.c
dissectors/packet-http-urlencoded.c
dissectors/packet-hyperscsi.c
dissectors/packet-i2c.c
dissectors/packet-mac-lte-framed.c
dissectors/packet-mac-lte.c
dissectors/packet-maccontrol.c
+ dissectors/packet-macsec.c
dissectors/packet-mactelnet.c
dissectors/packet-manolito.c
+ dissectors/packet-mbim.c
dissectors/packet-mbtcp.c
dissectors/packet-mdshdr.c
dissectors/packet-media.c
dissectors/packet-mikey.c
dissectors/packet-mim.c
dissectors/packet-mime-encap.c
+ dissectors/packet-mint.c
dissectors/packet-miop.c
dissectors/packet-mip.c
dissectors/packet-mip6.c
dissectors/packet-mplstp-oam.c
dissectors/packet-mpls-y1711.c
dissectors/packet-mpls.c
+ dissectors/packet-mq-base.c
dissectors/packet-mq-pcf.c
dissectors/packet-mq.c
dissectors/packet-mrcpv2.c
dissectors/packet-omapi.c
dissectors/packet-omron-fins.c
dissectors/packet-openflow.c
+ dissectors/packet-openflow_v4.c
dissectors/packet-opensafety.c
dissectors/packet-openvpn.c
dissectors/packet-openwire.c
dissectors/packet-rtp-events.c
dissectors/packet-rtp-midi.c
dissectors/packet-rtp.c
+ dissectors/packet-rtpproxy.c
dissectors/packet-rtps.c
dissectors/packet-rtsp.c
dissectors/packet-rudp.c
dissectors/packet-rwall.c
dissectors/packet-rx.c
- dissectors/packet-s5066.c
+ dissectors/packet-s5066sis.c
dissectors/packet-sadmind.c
dissectors/packet-sametime.c
dissectors/packet-sap.c
dissectors/packet-umts_mac.c
dissectors/packet-usb-audio.c
dissectors/packet-usb-ccid.c
+ dissectors/packet-usb-com.c
dissectors/packet-usb-hid.c
dissectors/packet-usb-hub.c
dissectors/packet-usb-masstorage.c
dissectors/packet-vcdu.c
dissectors/packet-vicp.c
dissectors/packet-vines.c
- dissectors/packet-vj.c
dissectors/packet-vlan.c
dissectors/packet-vmlab.c
dissectors/packet-vnc.c
dissectors/usb.c
register.c
)
+source_group(dissector-support FILES ${DISSECTOR_SUPPORT_SRC})
set(LIBWIRESHARK_ASM_FILES
asm_utils.c
${ASN1_DISSECTOR_SRC}
${DIRTY_ASN1_DISSECTOR_SRC}
)
+source_group(dissectors FILES ${DISSECTOR_FILES})
register_dissector_files(register.c
dissectors
ftypes/ftype-time.c
ftypes/ftype-tvbuff.c
)
+source_group(ftype FILES ${FTYPE_FILES})
set(WMEM_FILES
wmem/wmem_array.c
wmem/wmem_tree.c
wmem/wmem_user_cb.c
)
+source_group(wmem FILES ${WMEM_FILES})
ADD_CUSTOM_COMMAND(
OUTPUT
${M_LIBRARIES}
${LUA_LIBRARIES}
${PYTHON_LIBRARIES}
+ ${WIN_PSAPI_LIBRARY}
)
set(CLEAN_FILES
set_target_properties(epan PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}")
set_target_properties(epan PROPERTIES VERSION ${FULL_SO_VERSION} SOVERSION 0)
-# discover and substitute list of include directories for ABI compatibility
-# checks
-get_directory_property(INCLUDE_DIRS INCLUDE_DIRECTORIES)
-list(REMOVE_DUPLICATES INCLUDE_DIRS)
-string(REGEX REPLACE ";" "\n" INCLUDE_DIRS "${INCLUDE_DIRS}")
-configure_file(../abi-descriptor.template abi-descriptor.xml)
+ABICHECK(libwireshark)
-# ABI compliance checker can be obtained from
-# http://ispras.linux-foundation.org/index.php/ABI_compliance_checker
-# Checked using version 1.21.12
-file(GLOB EPAN_HEADERS *.h)
file(GLOB CRYPT_HEADERS crypt/*.h)
file(GLOB DFILTER_HEADERS dfilter/*.h ../tools/lemon/cppmagic.h)
file(GLOB D_HEADERS dissectors/*.h)
file(GLOB FTYPES_HEADERS ftypes/*.h)
file(GLOB WMEM_HEADERS wmem/*.h)
-file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/abi-check-headers
- ${CMAKE_CURRENT_BINARY_DIR}/abi-check-headers/epan
- ${CMAKE_CURRENT_BINARY_DIR}/abi-check-headers/crypt
- ${CMAKE_CURRENT_BINARY_DIR}/abi-check-headers/dfilter
- ${CMAKE_CURRENT_BINARY_DIR}/abi-check-headers/dissectors
- ${CMAKE_CURRENT_BINARY_DIR}/abi-check-headers/ftypes
- ${CMAKE_CURRENT_BINARY_DIR}/abi-check-headers/wmem)
+file(MAKE_DIRECTORY ${ABICHECK_TMPDIR}
+ ${ABICHECK_TMPDIR}/epan
+ ${ABICHECK_TMPDIR}/crypt
+ ${ABICHECK_TMPDIR}/dfilter
+ ${ABICHECK_TMPDIR}/dissectors
+ ${ABICHECK_TMPDIR}/ftypes
+ ${ABICHECK_TMPDIR}/wmem)
-file(COPY ../color.h ../register.h ../ws_symbol_export.h DESTINATION abi-check-headers)
-file(COPY ${EPAN_HEADERS} DESTINATION abi-check-headers/epan)
-file(COPY ${CRYPT_HEADERS} DESTINATION abi-check-headers/crypt)
-file(COPY ${DFILTER_HEADERS} DESTINATION abi-check-headers/dfilter)
-file(COPY ${D_HEADERS} DESTINATION abi-check-headers/dissectors)
-file(COPY ${FTYPES_HEADERS} DESTINATION abi-check-headers/ftypes)
-file(COPY ${WMEM_HEADERS} DESTINATION abi-check-headers/wmem)
+file(COPY ../color.h ../register.h DESTINATION ${ABICHECK_TMPDIR})
+file(COPY ${HEADERS} DESTINATION ${ABICHECK_TMPDIR}/epan)
+file(COPY ${CRYPT_HEADERS} DESTINATION ${ABICHECK_TMPDIR}/crypt)
+file(COPY ${DFILTER_HEADERS} DESTINATION ${ABICHECK_TMPDIR}/dfilter)
+file(COPY ${D_HEADERS} DESTINATION ${ABICHECK_TMPDIR}/dissectors)
+file(COPY ${FTYPES_HEADERS} DESTINATION ${ABICHECK_TMPDIR}/ftypes)
+file(COPY ${WMEM_HEADERS} DESTINATION ${ABICHECK_TMPDIR}/wmem)
add_custom_command(OUTPUT libwireshark.abi.tar.gz
- COMMAND cp ../config.h abi-check-headers
- COMMAND rm abi-check-headers/dissectors/x11-extension-implementation.h
- abi-check-headers/dissectors/packet-rtps.h
- abi-check-headers/dissectors/x11-glx-render-enum.h
- abi-check-headers/dissectors/x11-register-info.h
- abi-check-headers/dissectors/packet-idmp.h
- COMMAND abi-compliance-checker -l libwireshark -v1 ${FULL_SO_VERSION}
- -relpath ${CMAKE_CURRENT_BINARY_DIR} -dump-abi abi-descriptor.xml
- || cat logs/libwireshark/[0-9]*/log.txt
- COMMAND cp abi_dumps/libwireshark/libwireshark_* libwireshark.abi.tar.gz
- COMMAND rm -rf abi_dumps abi-check-headers/config.h
- abi-check-headers/epan/* abi-check-headers/crypt/*
- abi-check-headers/dfilter/* abi-check-headers/dissectors/*
- abi-check-headers/ftypes/* abi-check-headers/wmem/*
- DEPENDS ${EPAN_HEADERS}
+ COMMAND cp ../config.h ${ABICHECK_TMPDIR}
+ COMMAND rm -f ${ABICHECK_TMPDIR}/dissectors/x11-extension-implementation.h
+ ${ABICHECK_TMPDIR}/dissectors/packet-rtps.h
+ ${ABICHECK_TMPDIR}/dissectors/x11-glx-render-enum.h
+ ${ABICHECK_TMPDIR}/dissectors/x11-register-info.h
+ ${ABICHECK_TMPDIR}/dissectors/packet-idmp.h
+ COMMAND ${ABICHECK_COMMAND}
+ COMMAND cp ${CMAKE_CURRENT_BINARY_DIR}/abi_dumps/libwireshark/libwireshark_* ${CMAKE_CURRENT_BINARY_DIR}/libwireshark.abi.tar.gz
+ COMMAND rm -rf ${CMAKE_CURRENT_BINARY_DIR}/abi_dumps ${ABICHECK_TMPDIR}/config.h
+ ${ABICHECK_TMPDIR}/epan/* ${ABICHECK_TMPDIR}/crypt/*
+ ${ABICHECK_TMPDIR}/dfilter/* ${ABICHECK_TMPDIR}/dissectors/*
+ ${ABICHECK_TMPDIR}/ftypes/* ${ABICHECK_TMPDIR}/wmem/*
+ DEPENDS ${HEADERS}
${CRYPT_HEADERS} ${DFILTER_HEADERS} ${D_HEADERS}
${FTYPES_HEADERS} ${WMEM_HEADERS} epan)
-add_custom_target(dumpabi-libwireshark DEPENDS libwireshark.abi.tar.gz)
# By default the name for a library with target name epan will be libepan,
# but Ethereal is now named Wireshark
SET_TARGET_PROPERTIES(epan PROPERTIES OUTPUT_NAME "wireshark")
+set_target_properties(epan PROPERTIES FOLDER "DLLs")
target_link_libraries(epan ${epan_LIBS})