3 # Wireshark - Network traffic analyzer
4 # By Gerald Combs <gerald@wireshark.org>
5 # Copyright 1998 Gerald Combs
7 # This program is free software; you can redistribute it and/or
8 # modify it under the terms of the GNU General Public License
9 # as published by the Free Software Foundation; either version 2
10 # of the License, or (at your option) any later version.
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with this program; if not, write to the Free Software
19 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
22 ADD_CUSTOM_CMAKE_INCLUDE()
24 add_subdirectory(asn1 EXCLUDE_FROM_ALL)
25 add_subdirectory(dcerpc EXCLUDE_FROM_ALL)
26 add_subdirectory(pidl EXCLUDE_FROM_ALL)
29 ${CMAKE_CURRENT_BINARY_DIR}
30 ${CMAKE_CURRENT_SOURCE_DIR}
34 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/packet-ncp2222.c
35 COMMAND ${PYTHON_EXECUTABLE}
36 ${CMAKE_SOURCE_DIR}/tools/ncp2222.py
37 -o ${CMAKE_CURRENT_BINARY_DIR}/packet-ncp2222.c
40 ${CMAKE_SOURCE_DIR}/tools/ncp2222.py
43 add_custom_target(x11-dissector
44 COMMAND ${PERL_EXECUTABLE}
45 ${CMAKE_SOURCE_DIR}/tools/process-x11-fields.pl ${CMAKE_CURRENT_SOURCE_DIR}
46 < ${CMAKE_CURRENT_SOURCE_DIR}/x11-fields
47 COMMAND ${PERL_EXECUTABLE}
48 ${CMAKE_SOURCE_DIR}/tools/process-x11-xcb.pl ${CMAKE_CURRENT_SOURCE_DIR}
51 ${CMAKE_SOURCE_DIR}/tools/process-x11-fields.pl
52 ${CMAKE_SOURCE_DIR}/tools/process-x11-xcb.pl
53 ${CMAKE_CURRENT_SOURCE_DIR}/xcbproto
54 ${CMAKE_CURRENT_SOURCE_DIR}/mesa
57 set_target_properties(x11-dissector PROPERTIES FOLDER "Generated Dissectors/X11")
59 set(CLEAN_ASN1_DISSECTOR_SRC
85 packet-HI2Operations.c
105 packet-logotypecertextn.c
118 packet-ns_cert_exts.c
128 packet-pkix1explicit.c
129 packet-pkix1implicit.c
132 packet-pkixqualified.c
158 packet-wlancertextn.c
166 set(DIRTY_ASN1_DISSECTOR_SRC
169 set(ASN1_DISSECTOR_SRC
170 ${CLEAN_ASN1_DISSECTOR_SRC}
171 ${DIRTY_ASN1_DISSECTOR_SRC}
174 set(DIRTY_CORBA_IDL_DISSECTOR_SRC
181 set(CLEAN_CORBA_IDL_DISSECTOR_SRC
182 packet-coseventcomm.c
185 set(CORBA_IDL_DISSECTOR_SRC
186 ${CLEAN_CORBA_IDL_DISSECTOR_SRC}
187 ${DIRTY_CORBA_IDL_DISSECTOR_SRC}
190 source_group(dissectors-corba FILES ${CORBA_IDL_DISSECTOR_SRC})
192 add_library(dissectors-corba OBJECT
193 ${CORBA_IDL_DISSECTOR_SRC}
196 set_target_properties(dissectors-corba PROPERTIES
197 FOLDER "Libs/epan/dissectors"
198 COMPILE_DEFINITIONS "WS_BUILD_DLL"
201 if(WIN32 AND "${CMAKE_GENERATOR}" STREQUAL "Visual Studio 12 2013 Win64")
202 # CORBA IDL dissectors are triggering a MSVC 2013 x64 /O2 bug leading to a NULL pointer dereference (see bug 12495)
203 target_compile_options(dissectors-corba PRIVATE $<$<CONFIG:Release>:/Ox> $<$<CONFIG:RelWithDebInfo>:/Ox>)
206 set(NCP2222_DISSECTOR_SRC
210 source_group(dissectors-ncp2222 FILES ${NCP2222_DISSECTOR_SRC})
212 set(DISSECTOR_PUBLIC_HEADERS
250 packet-cell_broadcast.h
251 packet-charging_ase.h
267 packet-dcerpc-browser.h
270 packet-dcerpc-dce122.h
272 packet-dcerpc-dnsserver.h
273 packet-dcerpc-frsapi.h
274 packet-dcerpc-frsrpc.h
275 packet-dcerpc-netlogon.h
280 packet-dcerpc-spoolss.h
281 packet-dcerpc-svcctl.h
284 packet-dcom-dispatch.h
286 packet-diameter_3gpp.h
287 packet-diffserv-mpls-common.h
328 packet-gsm_a_common.h
355 packet-ieee80211-radio.h
356 packet-ieee80211-radiotap-iter.h
357 packet-ieee80211-radiotap-defs.h
374 packet-iwarp-ddp-rdmap.h
390 packet-logotypecertextn.h
402 packet-mpeg-descriptor.h
433 packet-pcap_pktdata.h
439 packet-pkix1explicit.h
440 packet-pkix1implicit.h
443 packet-pkixqualified.h
448 packet-ppi-geolocation-common.h
485 packet-s7comm_szl_ids.h
504 packet-smb-mailslot.h
506 packet-smb-sidsnooping.h
546 packet-windows-common.h
547 packet-wlancertextn.h
553 packet-x11-keysymdef.h
559 packet-xmpp-conference.h
573 packet-zbee-security.h
605 packet-adwin-config.c
628 packet-app-pkix-cert.c
632 packet-armagetronad.c
700 packet-bthci_vendor.c
716 packet-calcappprotocol.c
721 packet-catapult-dct2000.c
726 packet-cell_broadcast.c
739 packet-cisco-erspan.c
740 packet-cisco-fp-mim.c
741 packet-cisco-marker.c
742 packet-cisco-metadata.c
756 packet-componentstatus.c
758 packet-corosync-totemnet.c
759 packet-corosync-totemsrp.c
777 packet-dcerpc-bossvr.c
778 packet-dcerpc-browser.c
779 packet-dcerpc-cds_clerkserver.c
780 packet-dcerpc-cds_solicit.c
782 packet-dcerpc-cprpc_server.c
783 packet-dcerpc-dce122.c
784 packet-dcerpc-dtsprovider.c
785 packet-dcerpc-dtsstime_req.c
787 packet-dcerpc-fileexp.c
789 packet-dcerpc-frsapi.c
790 packet-dcerpc-frsrpc.c
791 packet-dcerpc-ftserver.c
792 packet-dcerpc-icl_rpc.c
793 packet-dcerpc-krb5rpc.c
795 packet-dcerpc-messenger.c
798 packet-dcerpc-netlogon.c
800 packet-dcerpc-rdaclif.c
801 packet-dcerpc-rep_proc.c
802 packet-dcerpc-roverride.c
803 packet-dcerpc-rpriv.c
805 packet-dcerpc-rs_acct.c
806 packet-dcerpc-rs_attr.c
807 packet-dcerpc-rs_attr_schema.c
808 packet-dcerpc-rs_bind.c
809 packet-dcerpc-rs_misc.c
810 packet-dcerpc-rs_pgo.c
811 packet-dcerpc-rs_plcy.c
812 packet-dcerpc-rs_prop_acct.c
813 packet-dcerpc-rs_prop_acl.c
814 packet-dcerpc-rs_prop_attr.c
815 packet-dcerpc-rs_prop_pgo.c
816 packet-dcerpc-rs_prop_plcy.c
817 packet-dcerpc-rs_pwd_mgmt.c
818 packet-dcerpc-rs_repadm.c
819 packet-dcerpc-rs_replist.c
820 packet-dcerpc-rs_repmgr.c
821 packet-dcerpc-rs_unix.c
822 packet-dcerpc-rsec_login.c
824 packet-dcerpc-secidmap.c
825 packet-dcerpc-spoolss.c
826 packet-dcerpc-svcctl.c
828 packet-dcerpc-tkn4int.c
829 packet-dcerpc-trksvr.c
830 packet-dcerpc-ubikdisk.c
831 packet-dcerpc-ubikvote.c
832 packet-dcerpc-update.c
835 packet-dcom-dispatch.c
838 packet-dcom-remunkn.c
847 packet-dhcp-failover.c
850 packet-diameter_3gpp.c
851 packet-diffserv-mpls-common.c
877 packet-dvb-data-mpe.c
901 packet-elasticsearch.c
909 packet-epl-profile-parser.c
922 packet-etsi_card_app_toolkit.c
926 packet-exported_pdu.c
962 packet-fractalgeneratorprotocol.c
979 packet-gluster_pmap.c
982 packet-glusterfs_hndsk.c
997 packet-gsm_a_bssmap.c
998 packet-gsm_a_common.c
1003 packet-gsm_abis_om2000.c
1004 packet-gsm_abis_oml.c
1005 packet-gsm_abis_tfp.c
1006 packet-gsm_abis_pgsl.c
1008 packet-gsm_bssmap_le.c
1027 packet-h221_nonstd.c
1033 packet-h248_annex_c.c
1034 packet-h248_annex_e.c
1057 packet-homeplug-av.c
1066 packet-hsr-prp-supervision.c
1071 packet-http-urlencoded.c
1088 packet-ieee80211-netmon.c
1089 packet-ieee80211-prism.c
1090 packet-ieee80211-radio.c
1091 packet-ieee80211-radiotap-iter.c
1092 packet-ieee80211-radiotap.c
1093 packet-ieee80211-wlancap.c
1105 packet-indigocare-icall.c
1106 packet-indigocare-netrix.c
1108 packet-infiniband_sdp.c
1118 packet-ipmi-bridge.c
1119 packet-ipmi-chassis.c
1122 packet-ipmi-session.c
1123 packet-ipmi-storage.c
1125 packet-ipmi-transport.c
1127 packet-ipmi-update.c
1166 packet-iwarp-ddp-rdmap.c
1168 packet-ixiatrailer.c
1212 packet-lge_monitor.c
1226 packet-logcat-text.c
1244 packet-mac-lte-framed.c
1260 packet-messageanalyzer.c
1283 packet-mpeg-descriptor.c
1307 packet-msn-messenger.c
1321 packet-nasdaq-itch.c
1322 packet-nasdaq-soup.c
1337 packet-netanalyzer.c
1340 packet-netgear-ensemble.c
1342 packet-netlink-generic.c
1343 packet-netlink-netfilter.c
1344 packet-netlink-nl80211.c
1345 packet-netlink-route.c
1346 packet-netlink-sock_diag.c
1349 packet-netperfmeter.c
1395 packet-openflow_v1.c
1396 packet-openflow_v4.c
1397 packet-openflow_v5.c
1398 packet-openflow_v6.c
1406 packet-osi-options.c
1415 packet-packetlogger.c
1419 packet-pcap_pktdata.c
1420 packet-pcapng_block.c
1434 packet-pingpongprotocol.c
1443 packet-ppi-antenna.c
1444 packet-ppi-geolocation-common.c
1478 packet-radius_packetcable.c
1486 packet-reload-framing.c
1490 packet-rfid-felica.c
1491 packet-rfid-mifare.c
1493 packet-rfid-pn532-hci.c
1543 packet-s7comm_szl_ids.c
1553 packet-scriptingservice.c
1582 packet-slowprotocols.c
1587 packet-smb-mailslot.c
1589 packet-smb-sidsnooping.c
1621 packet-stat-notify.c
1631 packet-sysdig-event.c
1644 packet-teimanagement.c
1657 packet-tivoconnect.c
1671 packet-turnchannel.c
1700 packet-usb-masstorage.c
1725 packet-vssmonitoring.c
1738 packet-wfleet-hdlc.c
1742 packet-wifi-display.c
1744 packet-windows-common.c
1764 packet-xmpp-conference.c
1767 packet-xmpp-jingle.c
1783 packet-zbee-nwk-gp.c
1784 packet-zbee-security.c
1786 packet-zbee-zcl-closures.c
1787 packet-zbee-zcl-general.c
1788 packet-zbee-zcl-ha.c
1789 packet-zbee-zcl-hvac.c
1790 packet-zbee-zcl-lighting.c
1791 packet-zbee-zcl-meas-sensing.c
1792 packet-zbee-zcl-misc.c
1793 packet-zbee-zcl-sas.c
1794 packet-zbee-zcl-se.c
1796 packet-zbee-zdp-binding.c
1797 packet-zbee-zdp-discovery.c
1798 packet-zbee-zdp-management.c
1806 set(DISSECTOR_SUPPORT_SRC
1813 source_group(dissector-support FILES ${DISSECTOR_SUPPORT_SRC})
1817 ${PIDL_DISSECTOR_SRC}
1818 ${PIDL_DISSECTOR_AUTOGEN_SRC}
1819 ${ASN1_DISSECTOR_SRC}
1820 ${NCP2222_DISSECTOR_SRC}
1821 ${CUSTOM_DISSECTOR_SRC}
1822 ${CUSTOM_DIRTY_ASN1_DISSECTOR_SRC}
1824 source_group(dissectors FILES ${DISSECTOR_FILES})
1826 set(ALL_DISSECTOR_SRC
1828 ${CORBA_IDL_DISSECTOR_SRC}
1831 register_dissector_files(register.c
1833 ${ALL_DISSECTOR_SRC}
1838 ${PIDL_DISSECTOR_SRC}
1839 ${CLEAN_ASN1_DISSECTOR_SRC}
1840 ${CLEAN_CORBA_IDL_DISSECTOR_SRC}
1841 ${NCP2222_DISSECTOR_SRC}
1842 ${DISSECTOR_SUPPORT_SRC}
1845 set_source_files_properties(
1848 COMPILE_FLAGS "${WERROR_COMMON_FLAGS}"
1851 add_library(dissectors OBJECT
1853 ${DISSECTOR_SUPPORT_SRC}
1856 set_target_properties(dissectors PROPERTIES
1857 FOLDER "Libs/epan/dissectors"
1858 COMPILE_DEFINITIONS "WS_BUILD_DLL"
1862 install(FILES ${DISSECTOR_PUBLIC_HEADERS}
1863 DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${CPACK_PACKAGE_NAME}/epan/dissectors"
1867 set(CHECKAPI_FILE_LIST "${CMAKE_CURRENT_BINARY_DIR}/files.txt")
1868 file(GLOB DISSECTOR_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")
1869 file(WRITE "${CHECKAPI_FILE_LIST}" "${DISSECTOR_FILES}" ";" "${CORBA_IDL_DISSECTOR_SRC}")
1874 -g abort -g termoutput -build --file ${CHECKAPI_FILE_LIST}
1876 ${DISSECTOR_SUPPORT_SRC}
1877 ${DISSECTOR_HEADERS}
1881 # Editor modelines - http://www.wireshark.org/tools/modelines.html
1886 # indent-tabs-mode: t
1889 # vi: set shiftwidth=8 tabstop=8 noexpandtab:
1890 # :indentSize=8:tabSize=8:noTabs=false: