From e.yimjia via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9289 :
[metze/wireshark/wip.git] / epan / CMakeLists.txt
index b48cb3be808537da959f1440559e78b0753795ec..7dab44a100e8b53c4b0d00f10c2559656fecf520 100644 (file)
 # 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 )
 
@@ -45,14 +50,8 @@ set(CRYPT_FILES
        crypt/airpdcap_debug.c
        crypt/airpdcap_rijndael.c
        crypt/airpdcap_tkip.c
-       crypt/aes.c
-       crypt/des.c
-       crypt/eax.c
-       crypt/md4.c
-       crypt/md5.c
-       crypt/rc4.c
-       crypt/sha1.c
 )
+source_group(crypt FILES ${CRYPT_FILES})
 
 set(DFILTER_FILES
        dfilter/dfilter.c
@@ -70,6 +69,7 @@ set(DFILTER_FILES
        dfilter/sttype-test.c
        dfilter/syntax-tree.c
 )
+source_group(dfilter FILES ${DFILTER_FILES})
 
 set(DFILTER_CLEAN_FILES
        ${DFILTER_FILES}
@@ -216,7 +216,9 @@ set(ASN1_DISSECTOR_SRC
        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-logotypecertextn.c
        dissectors/packet-lpp.c
@@ -229,7 +231,6 @@ set(ASN1_DISSECTOR_SRC
        dissectors/packet-nbap.c
        dissectors/packet-ns_cert_exts.c
        dissectors/packet-ocsp.c
-       dissectors/packet-opsi.c
        dissectors/packet-p22.c
        dissectors/packet-p7.c
        dissectors/packet-p772.c
@@ -257,11 +258,9 @@ set(ASN1_DISSECTOR_SRC
        dissectors/packet-smrse.c
        dissectors/packet-spnego.c
        dissectors/packet-sv.c
-       dissectors/packet-sysex.c
        dissectors/packet-t38.c
        dissectors/packet-ulp.c
        dissectors/packet-wlancertextn.c
-       dissectors/packet-x224.c
        dissectors/packet-x2ap.c
        dissectors/packet-x509af.c
        dissectors/packet-x509ce.c
@@ -292,6 +291,7 @@ set(DIRTY_ASN1_DISSECTOR_SRC
 )
 
 set(DISSECTOR_SRC
+       dissectors/file-mp4.c
        dissectors/packet-2dparityfec.c
        dissectors/packet-3com-njack.c
        dissectors/packet-3com-xns.c
@@ -354,10 +354,12 @@ set(DISSECTOR_SRC
        dissectors/packet-aruba-adp.c
        dissectors/packet-aruba-erm.c
        dissectors/packet-aruba-papi.c
+       dissectors/packet-ar_drone.c
        dissectors/packet-asap.c
        dissectors/packet-ascend.c
        dissectors/packet-asf.c
        dissectors/packet-assa_r3.c
+       dissectors/packet-asterix.c
        dissectors/packet-at.c
        dissectors/packet-atalk.c
        dissectors/packet-atm.c
@@ -380,6 +382,7 @@ set(DISSECTOR_SRC
        dissectors/packet-bfcp.c
        dissectors/packet-bfd.c
        dissectors/packet-bgp.c
+       dissectors/packet-bitcoin.c
        dissectors/packet-bittorrent.c
        dissectors/packet-bjnp.c
        dissectors/packet-bmc.c
@@ -394,6 +397,7 @@ set(DISSECTOR_SRC
        dissectors/packet-bssgp.c
        dissectors/packet-bt-dht.c
        dissectors/packet-bt-utp.c
+       dissectors/packet-bt3ds.c
        dissectors/packet-btamp.c
        dissectors/packet-btatt.c
        dissectors/packet-btbnep.c
@@ -404,9 +408,11 @@ set(DISSECTOR_SRC
        dissectors/packet-bthci_cmd.c
        dissectors/packet-bthci_evt.c
        dissectors/packet-bthci_sco.c
+       dissectors/packet-bthcrp.c
        dissectors/packet-bthfp.c
        dissectors/packet-bthid.c
        dissectors/packet-btl2cap.c
+       dissectors/packet-btmcap.c
        dissectors/packet-btobex.c
        dissectors/packet-btrfcomm.c
        dissectors/packet-btsap.c
@@ -418,6 +424,7 @@ set(DISSECTOR_SRC
        dissectors/packet-calcappprotocol.c
        dissectors/packet-canopen.c
        dissectors/packet-capwap.c
+       dissectors/packet-carp.c
        dissectors/packet-cast.c
        dissectors/packet-catapult-dct2000.c
        dissectors/packet-ccsds.c
@@ -433,6 +440,7 @@ set(DISSECTOR_SRC
        dissectors/packet-cipmotion.c
        dissectors/packet-cipsafety.c
        dissectors/packet-cisco-erspan.c
+       dissectors/packet-cisco-metadata.c
        dissectors/packet-cisco-oui.c
        dissectors/packet-cisco-sm.c
        dissectors/packet-cisco-wids.c
@@ -644,6 +652,7 @@ set(DISSECTOR_SRC
        dissectors/packet-g723.c
        dissectors/packet-gadu-gadu.c
        dissectors/packet-gdsdb.c
+       dissectors/packet-gearman.c
        dissectors/packet-ged125.c
        dissectors/packet-gift.c
        dissectors/packet-giop.c
@@ -717,12 +726,15 @@ set(DISSECTOR_SRC
        dissectors/packet-homeplug.c
        dissectors/packet-hp-erm.c
        dissectors/packet-hpext.c
+       dissectors/packet-hpfeeds.c
        dissectors/packet-hpsw.c
        dissectors/packet-hpteam.c
        dissectors/packet-hsr-prp-supervision.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-iana-oui.c
@@ -735,6 +747,7 @@ set(DISSECTOR_SRC
        dissectors/packet-icp.c
        dissectors/packet-icq.c
        dissectors/packet-idp.c
+       dissectors/packet-idrp.c
        dissectors/packet-iec104.c
        dissectors/packet-ieee1722.c
        dissectors/packet-ieee17221.c
@@ -799,6 +812,7 @@ set(DISSECTOR_SRC
        dissectors/packet-iuup.c
        dissectors/packet-iwarp-ddp-rdmap.c
        dissectors/packet-iwarp-mpa.c
+       dissectors/packet-ixiatrailer.c
        dissectors/packet-ixveriwave.c
        dissectors/packet-jmirror.c
        dissectors/packet-jpeg.c
@@ -807,6 +821,7 @@ set(DISSECTOR_SRC
        dissectors/packet-jxta.c
        dissectors/packet-k12.c
        dissectors/packet-kadm5.c
+       dissectors/packet-kafka.c
        dissectors/packet-kdp.c
        dissectors/packet-kdsp.c
        dissectors/packet-kerberos.c
@@ -853,8 +868,10 @@ set(DISSECTOR_SRC
        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
@@ -867,6 +884,7 @@ set(DISSECTOR_SRC
        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
@@ -892,6 +910,7 @@ set(DISSECTOR_SRC
        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
@@ -963,12 +982,17 @@ set(DISSECTOR_SRC
        dissectors/packet-olsr.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-opsi.c
        dissectors/packet-osi-options.c
        dissectors/packet-osi.c
        dissectors/packet-ositp.c
        dissectors/packet-ospf.c
+       dissectors/packet-ouch.c
        dissectors/packet-p_mul.c
        dissectors/packet-packetbb.c
        dissectors/packet-packetlogger.c
@@ -1004,6 +1028,8 @@ set(DISSECTOR_SRC
        dissectors/packet-pptp.c
        dissectors/packet-prp.c
        dissectors/packet-ptp.c
+       dissectors/packet-ptpip.c
+       dissectors/packet-pulse.c
        dissectors/packet-pvfs2.c
        dissectors/packet-pw-atm.c
        dissectors/packet-pw-cesopsn.c
@@ -1048,7 +1074,6 @@ set(DISSECTOR_SRC
        dissectors/packet-rmi.c
        dissectors/packet-rmp.c
        dissectors/packet-rmt-alc.c
-       dissectors/packet-rmt-common.c
        dissectors/packet-rmt-fec.c
        dissectors/packet-rmt-lct.c
        dissectors/packet-rmt-norm.c
@@ -1056,6 +1081,7 @@ set(DISSECTOR_SRC
        dissectors/packet-roofnet.c
        dissectors/packet-rpc.c
        dissectors/packet-rpcap.c
+       dissectors/packet-rpki-rtr.c
        dissectors/packet-rpl.c
        dissectors/packet-rquota.c
        dissectors/packet-rsh.c
@@ -1064,6 +1090,7 @@ set(DISSECTOR_SRC
        dissectors/packet-rstat.c
        dissectors/packet-rsvp.c
        dissectors/packet-rsync.c
+       dissectors/packet-rtacser.c
        dissectors/packet-rtcdc.c
        dissectors/packet-rtcp.c
        dissectors/packet-rtmpt.c
@@ -1071,13 +1098,13 @@ set(DISSECTOR_SRC
        dissectors/packet-rtp-events.c
        dissectors/packet-rtp-midi.c
        dissectors/packet-rtp.c
+       dissectors/packet-rtpproxy.c
        dissectors/packet-rtps.c
-       dissectors/packet-rtps2.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
@@ -1099,6 +1126,7 @@ set(DISSECTOR_SRC
        dissectors/packet-sdlc.c
        dissectors/packet-sdp.c
        dissectors/packet-sebek.c
+       dissectors/packet-selfm.c
        dissectors/packet-sercosiii.c
        dissectors/packet-ses.c
        dissectors/packet-sflow.c
@@ -1122,6 +1150,7 @@ set(DISSECTOR_SRC
        dissectors/packet-smb-sidsnooping.c
        dissectors/packet-smb.c
        dissectors/packet-smb2.c
+       dissectors/packet-sml.c
        dissectors/packet-smpp.c
        dissectors/packet-smtp.c
        dissectors/packet-sna.c
@@ -1130,6 +1159,7 @@ set(DISSECTOR_SRC
        dissectors/packet-sndcp.c
        dissectors/packet-socketcan.c
        dissectors/packet-socks.c
+       dissectors/packet-soupbintcp.c
        dissectors/packet-spice.c
        dissectors/packet-spp.c
        dissectors/packet-spray.c
@@ -1141,6 +1171,7 @@ set(DISSECTOR_SRC
        dissectors/packet-ssh.c
        dissectors/packet-ssl-utils.c
        dissectors/packet-ssl.c
+       dissectors/packet-stanag4607.c
        dissectors/packet-starteam.c
        dissectors/packet-stat-notify.c
        dissectors/packet-stat.c
@@ -1150,6 +1181,7 @@ set(DISSECTOR_SRC
        dissectors/packet-sync.c
        dissectors/packet-synergy.c
        dissectors/packet-synphasor.c
+       dissectors/packet-sysex.c
        dissectors/packet-syslog.c
        dissectors/packet-t30.c
        dissectors/packet-tacacs.c
@@ -1192,14 +1224,18 @@ set(DISSECTOR_SRC
        dissectors/packet-ucp.c
        dissectors/packet-udld.c
        dissectors/packet-udp.c
+       dissectors/packet-udt.c
+       dissectors/packet-uhd.c
        dissectors/packet-uma.c
        dissectors/packet-umts_fp.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-usb-video.c
        dissectors/packet-usb.c
        dissectors/packet-user_encap.c
        dissectors/packet-uts.c
@@ -1212,12 +1248,12 @@ set(DISSECTOR_SRC
        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/packet-vntag.c
        dissectors/packet-vrrp.c
+       dissectors/packet-vrt.c
        dissectors/packet-vssmonitoring.c
        dissectors/packet-vtp.c
        dissectors/packet-vuze-dht.c
@@ -1233,6 +1269,7 @@ set(DISSECTOR_SRC
        dissectors/packet-websocket.c
        dissectors/packet-wfleet-hdlc.c
        dissectors/packet-who.c
+       dissectors/packet-wifi-display.c
        dissectors/packet-wifi-p2p.c
        dissectors/packet-windows-common.c
        dissectors/packet-winsrepl.c
@@ -1245,6 +1282,7 @@ set(DISSECTOR_SRC
        dissectors/packet-wsp.c
        dissectors/packet-wtls.c
        dissectors/packet-wtp.c
+       dissectors/packet-x224.c
        dissectors/packet-x25.c
        dissectors/packet-x29.c
        dissectors/packet-xcsl.c
@@ -1272,6 +1310,10 @@ set(DISSECTOR_SRC
        dissectors/packet-zbee-nwk.c
        dissectors/packet-zbee-security.c
        dissectors/packet-zbee-zcl.c
+       dissectors/packet-zbee-zcl-general.c
+       dissectors/packet-zbee-zcl-ha.c
+       dissectors/packet-zbee-zcl-meas-sensing.c
+       dissectors/packet-zbee-zcl-se.c
        dissectors/packet-zbee-zdp-binding.c
        dissectors/packet-zbee-zdp-discovery.c
        dissectors/packet-zbee-zdp-management.c
@@ -1306,6 +1348,7 @@ set(DISSECTOR_SUPPORT_SRC
        dissectors/usb.c
        register.c
 )
+source_group(dissector-support FILES ${DISSECTOR_SUPPORT_SRC})
 
 set(LIBWIRESHARK_ASM_FILES
        asm_utils.c
@@ -1331,6 +1374,7 @@ set(DISSECTOR_FILES
        ${ASN1_DISSECTOR_SRC}
        ${DIRTY_ASN1_DISSECTOR_SRC}
 )
+source_group(dissectors FILES ${DISSECTOR_FILES})
 
 register_dissector_files(register.c
        dissectors
@@ -1351,19 +1395,24 @@ set(FTYPE_FILES
        ftypes/ftype-time.c
        ftypes/ftype-tvbuff.c
 )
+source_group(ftype FILES ${FTYPE_FILES})
 
 set(WMEM_FILES
+       wmem/wmem_array.c
        wmem/wmem_core.c
        wmem/wmem_allocator_block.c
        wmem/wmem_allocator_simple.c
        wmem/wmem_allocator_strict.c
+       wmem/wmem_list.c
+       wmem/wmem_miscutl.c
        wmem/wmem_scopes.c
-       wmem/wmem_slab.c
-       wmem/wmem_slist.c
        wmem/wmem_stack.c
        wmem/wmem_strbuf.c
        wmem/wmem_strutl.c
+       wmem/wmem_tree.c
+       wmem/wmem_user_cb.c
 )
+source_group(wmem FILES ${WMEM_FILES})
 
 ADD_CUSTOM_COMMAND(
     OUTPUT
@@ -1377,12 +1426,24 @@ ADD_CUSTOM_COMMAND(
       ${CMAKE_SOURCE_DIR}/tools/make-sminmpec.pl
 )
 
+ADD_CUSTOM_COMMAND(
+       OUTPUT  ps.c
+       COMMAND ${PYTHON_EXECUTABLE}
+               ${CMAKE_SOURCE_DIR}/tools/rdps.py
+               ${CMAKE_CURRENT_SOURCE_DIR}/print.ps
+               ps.c
+       DEPENDS
+               ${CMAKE_SOURCE_DIR}/tools/rdps.py
+               ${CMAKE_CURRENT_SOURCE_DIR}/print.ps
+)
+
 set(LIBWIRESHARK_FILES
        addr_and_mask.c
        addr_resolv.c
        address_to_str.c
        adler32.c
        afn.c
+       app_mem_usage.c
        asn1.c
        atalk-utils.c
        base64.c
@@ -1397,16 +1458,19 @@ set(LIBWIRESHARK_FILES
        crc16-tvb.c
        crc32-tvb.c
        crc8-tvb.c
+       disabled_protos.c
        dissector_filters.c
        emem.c
        epan.c
        ex-opt.c
        except.c
        expert.c
+       exported_pdu.c
        filesystem.c
        filter_expressions.c
        follow.c
        frame_data.c
+       frame_data_sequence.c
        frequency-utils.c
        funnel.c
        gcp.c
@@ -1418,18 +1482,20 @@ set(LIBWIRESHARK_FILES
        ipproto.c
        ipv4.c
        next_tvb.c
-       nstime.c
        oids.c
        osi-utils.c
+       packet-range.c
        packet.c
        plugins.c
+       print.c
        prefs.c
        proto.c
+       ps.c
        range.c
        reassemble.c
        reedsolomon.c
-       report_err.c
        req_resp_hdrs.c
+       show_exception.c
        sigcomp_state_hdlr.c
        sigcomp-udvm.c
        sminmpec.c
@@ -1442,10 +1508,14 @@ set(LIBWIRESHARK_FILES
        tap.c
        tcap-persistentdata.c
        timestamp.c
+       timestats.c
        tfs.c
        to_str.c
        tvbparse.c
        tvbuff.c
+       tvbuff_composite.c
+       tvbuff_real.c
+       tvbuff_subset.c
        uat.c
        value_string.c
        xdlc.c
@@ -1486,6 +1556,7 @@ set(epan_LIBS
        ${M_LIBRARIES}
        ${LUA_LIBRARIES}
        ${PYTHON_LIBRARIES}
+       ${WIN_PSAPI_LIBRARY}
 )
 
 set(CLEAN_FILES
@@ -1531,11 +1602,59 @@ add_library(epan ${LINK_MODE_LIB}
        ${DISSECTOR_SUPPORT_SRC}
        ${LIBWIRESHARK_ASM_FILES}
 )
+
+add_dependencies(epan svnversion)
+
+set(FULL_SO_VERSION "0.0.0")
+
+set_target_properties(epan PROPERTIES COMPILE_DEFINITIONS "WS_BUILD_DLL")
 set_target_properties(epan PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}")
+set_target_properties(epan PROPERTIES VERSION ${FULL_SO_VERSION} SOVERSION 0)
+
+ABICHECK(libwireshark)
+
+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 ${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 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 ${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)
 
 # 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})