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)
28 ${CMAKE_CURRENT_BINARY_DIR}
29 ${CMAKE_CURRENT_SOURCE_DIR}
37 foreach(PROTOCOL_NAME ${PIDL_DISSECTOR_AUTOGEN_NAMES})
38 list(APPEND PIDL_DISSECTOR_AUTOGEN_SRC
39 dcerpc/${PROTOCOL_NAME}/packet-dcerpc-${PROTOCOL_NAME}.c
43 foreach(PROTOCOL_NAME ${PIDL_DISSECTOR_AUTOGEN_NAMES})
44 set(CUR_PROTO_DIR ${CMAKE_CURRENT_SOURCE_DIR}/dcerpc/${PROTOCOL_NAME})
45 set(CUR_PROTO_C_FILE packet-dcerpc-${PROTOCOL_NAME}.c)
46 set(CUR_PROTO_H_FILE packet-dcerpc-${PROTOCOL_NAME}.h)
49 ${CUR_PROTO_DIR}/${CUR_PROTO_C_FILE}
50 ${CUR_PROTO_DIR}/${CUR_PROTO_H_FILE}
52 idl2wrs ${PROTOCOL_NAME}
54 ${CMAKE_COMMAND} -E copy_if_different ${CUR_PROTO_DIR}/${CUR_PROTO_C_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/${CUR_PROTO_C_FILE}
56 ${CMAKE_COMMAND} -E copy_if_different ${CUR_PROTO_DIR}/${CUR_PROTO_H_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/${CUR_PROTO_H_FILE}
60 ${CUR_PROTO_DIR}/${PROTOCOL_NAME}.idl
61 ${CUR_PROTO_DIR}/${PROTOCOL_NAME}.cnf
62 ${CUR_PROTO_DIR}/packet-dcerpc-${PROTOCOL_NAME}-template.c
63 ${CUR_PROTO_DIR}/packet-dcerpc-${PROTOCOL_NAME}-template.h
67 foreach(PROTOCOL_NAME ${PIDL_DISSECTOR_AUTOGEN_NAMES})
68 set(PIDL_DISSECTOR_AUTOGEN_SRC
69 ${PIDL_DISSECTOR_AUTOGEN_SRC}
70 packet-dcerpc-${PROTOCOL_NAME}.c
76 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/packet-ncp2222.c
77 COMMAND ${PYTHON_EXECUTABLE}
78 ${CMAKE_SOURCE_DIR}/tools/ncp2222.py
79 -o ${CMAKE_CURRENT_BINARY_DIR}/packet-ncp2222.c
82 ${CMAKE_SOURCE_DIR}/tools/ncp2222.py
85 add_custom_target(x11-dissector
86 COMMAND ${PERL_EXECUTABLE}
87 ${CMAKE_SOURCE_DIR}/tools/process-x11-fields.pl ${CMAKE_CURRENT_SOURCE_DIR}/dissectors
88 < ${CMAKE_CURRENT_SOURCE_DIR}/x11-fields
89 COMMAND ${PERL_EXECUTABLE}
90 ${CMAKE_SOURCE_DIR}/tools/process-x11-xcb.pl ${CMAKE_CURRENT_SOURCE_DIR}/dissectors
93 ${CMAKE_SOURCE_DIR}/tools/process-x11-fields.pl
94 ${CMAKE_SOURCE_DIR}/tools/process-x11-xcb.pl
95 ${CMAKE_CURRENT_SOURCE_DIR}/xcbproto
96 ${CMAKE_CURRENT_SOURCE_DIR}/mesa
99 set_target_properties(x11-dissector PROPERTIES FOLDER "Generated Dissectors/X11")
101 # Note that some dissectors are added in dcerpc/CMakeLists.txt
102 set(PIDL_DISSECTOR_SRC
103 packet-dcerpc-atsvc.c
104 # packet-dcerpc-budb.c
105 # packet-dcerpc-butc.c
107 packet-dcerpc-dnsserver.c
108 # packet-dcerpc-drsuapi.c
109 packet-dcerpc-dssetup.c
111 packet-dcerpc-eventlog.c
112 packet-dcerpc-frstrans.c
113 packet-dcerpc-initshutdown.c
116 packet-dcerpc-mdssvc.c
120 packet-dcerpc-srvsvc.c
121 packet-dcerpc-winreg.c
122 packet-dcerpc-witness.c
123 packet-dcerpc-wkssvc.c
124 packet-dcerpc-wzcsvc.c
127 set(ASN1_DISSECTOR_SRC
138 packet-charging_ase.c
152 packet-HI2Operations.c
172 packet-logotypecertextn.c
183 packet-ns_cert_exts.c
193 packet-pkix1explicit.c
194 packet-pkix1implicit.c
197 packet-pkixqualified.c
223 packet-wlancertextn.c
231 set(DIRTY_ASN1_DISSECTOR_SRC
234 set(DIRTY_CORBA_IDL_DISSECTOR_SRC
267 packet-adwin-config.c
276 packet-aim-buddylist.c
279 packet-aim-directory.c
283 packet-aim-invitation.c
284 packet-aim-location.c
285 packet-aim-messaging.c
292 packet-aim-translate.c
293 packet-aim-userlookup.c
310 packet-app-pkix-cert.c
314 packet-armagetronad.c
379 packet-bthci_vendor.c
396 packet-calcappprotocol.c
401 packet-catapult-dct2000.c
406 packet-cell_broadcast.c
419 packet-cisco-erspan.c
420 packet-cisco-fp-mim.c
421 packet-cisco-marker.c
422 packet-cisco-metadata.c
435 packet-componentstatus.c
437 packet-corosync-totemnet.c
438 packet-corosync-totemsrp.c
439 packet-coseventcomm.c
456 packet-dcerpc-bossvr.c
457 packet-dcerpc-browser.c
458 packet-dcerpc-cds_clerkserver.c
459 packet-dcerpc-cds_solicit.c
461 packet-dcerpc-cprpc_server.c
462 packet-dcerpc-dce122.c
463 packet-dcerpc-dtsprovider.c
464 packet-dcerpc-dtsstime_req.c
466 packet-dcerpc-fileexp.c
468 packet-dcerpc-frsapi.c
469 packet-dcerpc-frsrpc.c
470 packet-dcerpc-ftserver.c
471 packet-dcerpc-icl_rpc.c
472 packet-dcerpc-krb5rpc.c
474 packet-dcerpc-messenger.c
477 packet-dcerpc-netlogon.c
479 packet-dcerpc-rdaclif.c
480 packet-dcerpc-rep_proc.c
481 packet-dcerpc-roverride.c
482 packet-dcerpc-rpriv.c
484 packet-dcerpc-rs_acct.c
485 packet-dcerpc-rs_attr.c
486 packet-dcerpc-rs_attr_schema.c
487 packet-dcerpc-rs_bind.c
488 packet-dcerpc-rs_misc.c
489 packet-dcerpc-rs_pgo.c
490 packet-dcerpc-rs_plcy.c
491 packet-dcerpc-rs_prop_acct.c
492 packet-dcerpc-rs_prop_acl.c
493 packet-dcerpc-rs_prop_attr.c
494 packet-dcerpc-rs_prop_pgo.c
495 packet-dcerpc-rs_prop_plcy.c
496 packet-dcerpc-rs_pwd_mgmt.c
497 packet-dcerpc-rs_repadm.c
498 packet-dcerpc-rs_replist.c
499 packet-dcerpc-rs_repmgr.c
500 packet-dcerpc-rs_unix.c
501 packet-dcerpc-rsec_login.c
503 packet-dcerpc-secidmap.c
504 packet-dcerpc-spoolss.c
505 packet-dcerpc-svcctl.c
507 packet-dcerpc-tkn4int.c
508 packet-dcerpc-trksvr.c
509 packet-dcerpc-ubikdisk.c
510 packet-dcerpc-ubikvote.c
511 packet-dcerpc-update.c
514 packet-dcom-dispatch.c
517 packet-dcom-remunkn.c
526 packet-dhcp-failover.c
529 packet-diameter_3gpp.c
530 packet-diffserv-mpls-common.c
554 packet-dvb-data-mpe.c
578 packet-elasticsearch.c
597 packet-etsi_card_app_toolkit.c
601 packet-exported_pdu.c
635 packet-fractalgeneratorprotocol.c
652 packet-gluster_pmap.c
655 packet-glusterfs_hndsk.c
669 packet-gsm_a_bssmap.c
670 packet-gsm_a_common.c
675 packet-gsm_abis_om2000.c
676 packet-gsm_abis_oml.c
678 packet-gsm_bssmap_le.c
700 packet-h248_annex_c.c
701 packet-h248_annex_e.c
730 packet-hsr-prp-supervision.c
735 packet-http-urlencoded.c
753 packet-ieee80211-netmon.c
754 packet-ieee80211-prism.c
755 packet-ieee80211-radio.c
756 packet-ieee80211-radiotap-iter.c
757 packet-ieee80211-radiotap.c
758 packet-ieee80211-wlancap.c
771 packet-infiniband_sdp.c
781 packet-ipmi-chassis.c
784 packet-ipmi-session.c
785 packet-ipmi-storage.c
787 packet-ipmi-transport.c
825 packet-iwarp-ddp-rdmap.c
900 packet-mac-lte-framed.c
937 packet-mpeg-descriptor.c
961 packet-msn-messenger.c
995 packet-netlink-netfilter.c
996 packet-netlink-route.c
997 packet-netlink-sock_diag.c
999 packet-netperfmeter.c
1034 packet-openflow_v1.c
1035 packet-openflow_v4.c
1036 packet-openflow_v5.c
1043 packet-osi-options.c
1052 packet-packetlogger.c
1056 packet-pcap_pktdata.c
1057 packet-pcapng_block.c
1070 packet-pingpongprotocol.c
1079 packet-ppi-antenna.c
1080 packet-ppi-geolocation-common.c
1113 packet-radius_packetcable.c
1121 packet-reload-framing.c
1125 packet-rfid-felica.c
1126 packet-rfid-mifare.c
1128 packet-rfid-pn532-hci.c
1177 packet-s7comm_szl_ids.c
1187 packet-scriptingservice.c
1214 packet-slowprotocols.c
1219 packet-smb-mailslot.c
1221 packet-smb-sidsnooping.c
1251 packet-stat-notify.c
1261 packet-sysdig-event.c
1274 packet-teimanagement.c
1285 packet-tivoconnect.c
1299 packet-turnchannel.c
1322 packet-usb-masstorage.c
1346 packet-vssmonitoring.c
1359 packet-wfleet-hdlc.c
1362 packet-wifi-display.c
1364 packet-windows-common.c
1384 packet-xmpp-conference.c
1387 packet-xmpp-jingle.c
1403 packet-zbee-nwk-gp.c
1404 packet-zbee-security.c
1406 packet-zbee-zcl-closures.c
1407 packet-zbee-zcl-lighting.c
1408 packet-zbee-zcl-hvac.c
1409 packet-zbee-zcl-general.c
1410 packet-zbee-zcl-ha.c
1411 packet-zbee-zcl-meas-sensing.c
1412 packet-zbee-zcl-misc.c
1413 packet-zbee-zcl-se.c
1414 packet-zbee-zcl-sas.c
1415 packet-zbee-zdp-binding.c
1416 packet-zbee-zdp-discovery.c
1417 packet-zbee-zdp-management.c
1426 set(DISSECTOR_SUPPORT_SRC
1431 source_group(dissector-support FILES ${DISSECTOR_SUPPORT_SRC})
1435 ${PIDL_DISSECTOR_SRC}
1436 ${PIDL_DISSECTOR_AUTOGEN_SRC}
1437 ${ASN1_DISSECTOR_SRC}
1438 ${DIRTY_ASN1_DISSECTOR_SRC}
1439 ${DIRTY_CORBA_IDL_DISSECTOR_SRC}
1440 ${CUSTOM_DISSECTOR_SRC}
1441 ${CUSTOM_DIRTY_ASN1_DISSECTOR_SRC}
1443 source_group(dissectors FILES ${DISSECTOR_FILES})
1445 register_dissector_files(register.c
1452 ${PIDL_DISSECTOR_SRC}
1453 ${ASN1_DISSECTOR_SRC}
1454 ${DISSECTOR_SUPPORT_SRC}
1457 if(WERROR_COMMON_FLAGS)
1458 set_source_files_properties(
1461 COMPILE_FLAGS ${WERROR_COMMON_FLAGS}
1465 add_library(dissectors OBJECT
1467 ${DISSECTOR_SUPPORT_SRC}
1470 set_target_properties(dissectors PROPERTIES
1471 FOLDER "Libs/epan/dissectors"
1472 COMPILE_DEFINITIONS "WS_BUILD_DLL"
1476 # Editor modelines - http://www.wireshark.org/tools/modelines.html
1481 # indent-tabs-mode: t
1484 # vi: set shiftwidth=8 tabstop=8 noexpandtab:
1485 # :indentSize=8:tabSize=8:noTabs=false: