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}/dissectors
46 < ${CMAKE_CURRENT_SOURCE_DIR}/x11-fields
47 COMMAND ${PERL_EXECUTABLE}
48 ${CMAKE_SOURCE_DIR}/tools/process-x11-xcb.pl ${CMAKE_CURRENT_SOURCE_DIR}/dissectors
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
117 packet-ns_cert_exts.c
127 packet-pkix1explicit.c
128 packet-pkix1implicit.c
131 packet-pkixqualified.c
157 packet-wlancertextn.c
165 set(DIRTY_ASN1_DISSECTOR_SRC
168 set(ASN1_DISSECTOR_SRC
169 ${CLEAN_ASN1_DISSECTOR_SRC}
170 ${DIRTY_ASN1_DISSECTOR_SRC}
173 set(DIRTY_CORBA_IDL_DISSECTOR_SRC
180 set(CLEAN_CORBA_IDL_DISSECTOR_SRC
181 packet-coseventcomm.c
184 set(CORBA_IDL_DISSECTOR_SRC
185 ${CLEAN_CORBA_IDL_DISSECTOR_SRC}
186 ${DIRTY_CORBA_IDL_DISSECTOR_SRC}
189 source_group(dissectors-corba FILES ${CORBA_IDL_DISSECTOR_SRC})
191 add_library(dissectors-corba OBJECT
192 ${CORBA_IDL_DISSECTOR_SRC}
195 set_target_properties(dissectors-corba PROPERTIES
196 FOLDER "Libs/epan/dissectors"
197 COMPILE_DEFINITIONS "WS_BUILD_DLL"
198 COMPILE_OPTIONS "${WS_WARNINGS_C_FLAGS}"
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})
238 packet-adwin-config.c
247 packet-aim-buddylist.c
250 packet-aim-directory.c
254 packet-aim-invitation.c
255 packet-aim-location.c
256 packet-aim-messaging.c
263 packet-aim-translate.c
264 packet-aim-userlookup.c
281 packet-app-pkix-cert.c
285 packet-armagetronad.c
352 packet-bthci_vendor.c
368 packet-calcappprotocol.c
373 packet-catapult-dct2000.c
378 packet-cell_broadcast.c
391 packet-cisco-erspan.c
392 packet-cisco-fp-mim.c
393 packet-cisco-marker.c
394 packet-cisco-metadata.c
408 packet-componentstatus.c
410 packet-corosync-totemnet.c
411 packet-corosync-totemsrp.c
429 packet-dcerpc-bossvr.c
430 packet-dcerpc-browser.c
431 packet-dcerpc-cds_clerkserver.c
432 packet-dcerpc-cds_solicit.c
434 packet-dcerpc-cprpc_server.c
435 packet-dcerpc-dce122.c
436 packet-dcerpc-dtsprovider.c
437 packet-dcerpc-dtsstime_req.c
439 packet-dcerpc-fileexp.c
441 packet-dcerpc-frsapi.c
442 packet-dcerpc-frsrpc.c
443 packet-dcerpc-ftserver.c
444 packet-dcerpc-icl_rpc.c
445 packet-dcerpc-krb5rpc.c
447 packet-dcerpc-messenger.c
450 packet-dcerpc-netlogon.c
452 packet-dcerpc-rdaclif.c
453 packet-dcerpc-rep_proc.c
454 packet-dcerpc-roverride.c
455 packet-dcerpc-rpriv.c
457 packet-dcerpc-rs_acct.c
458 packet-dcerpc-rs_attr.c
459 packet-dcerpc-rs_attr_schema.c
460 packet-dcerpc-rs_bind.c
461 packet-dcerpc-rs_misc.c
462 packet-dcerpc-rs_pgo.c
463 packet-dcerpc-rs_plcy.c
464 packet-dcerpc-rs_prop_acct.c
465 packet-dcerpc-rs_prop_acl.c
466 packet-dcerpc-rs_prop_attr.c
467 packet-dcerpc-rs_prop_pgo.c
468 packet-dcerpc-rs_prop_plcy.c
469 packet-dcerpc-rs_pwd_mgmt.c
470 packet-dcerpc-rs_repadm.c
471 packet-dcerpc-rs_replist.c
472 packet-dcerpc-rs_repmgr.c
473 packet-dcerpc-rs_unix.c
474 packet-dcerpc-rsec_login.c
476 packet-dcerpc-secidmap.c
477 packet-dcerpc-spoolss.c
478 packet-dcerpc-svcctl.c
480 packet-dcerpc-tkn4int.c
481 packet-dcerpc-trksvr.c
482 packet-dcerpc-ubikdisk.c
483 packet-dcerpc-ubikvote.c
484 packet-dcerpc-update.c
487 packet-dcom-dispatch.c
490 packet-dcom-remunkn.c
499 packet-dhcp-failover.c
502 packet-diameter_3gpp.c
503 packet-diffserv-mpls-common.c
528 packet-dvb-data-mpe.c
552 packet-elasticsearch.c
572 packet-etsi_card_app_toolkit.c
576 packet-exported_pdu.c
610 packet-fractalgeneratorprotocol.c
627 packet-gluster_pmap.c
630 packet-glusterfs_hndsk.c
644 packet-gsm_a_bssmap.c
645 packet-gsm_a_common.c
650 packet-gsm_abis_om2000.c
651 packet-gsm_abis_oml.c
652 packet-gsm_abis_tfp.c
653 packet-gsm_abis_pgsl.c
655 packet-gsm_bssmap_le.c
678 packet-h248_annex_c.c
679 packet-h248_annex_e.c
709 packet-hsr-prp-supervision.c
714 packet-http-urlencoded.c
731 packet-ieee80211-netmon.c
732 packet-ieee80211-prism.c
733 packet-ieee80211-radio.c
734 packet-ieee80211-radiotap-iter.c
735 packet-ieee80211-radiotap.c
736 packet-ieee80211-wlancap.c
749 packet-infiniband_sdp.c
759 packet-ipmi-chassis.c
762 packet-ipmi-session.c
763 packet-ipmi-storage.c
765 packet-ipmi-transport.c
804 packet-iwarp-ddp-rdmap.c
879 packet-mac-lte-framed.c
916 packet-mpeg-descriptor.c
940 packet-msn-messenger.c
974 packet-netlink-netfilter.c
975 packet-netlink-route.c
976 packet-netlink-sock_diag.c
978 packet-netperfmeter.c
1018 packet-openflow_v1.c
1019 packet-openflow_v4.c
1020 packet-openflow_v5.c
1027 packet-osi-options.c
1036 packet-packetlogger.c
1040 packet-pcap_pktdata.c
1041 packet-pcapng_block.c
1054 packet-pingpongprotocol.c
1063 packet-ppi-antenna.c
1064 packet-ppi-geolocation-common.c
1097 packet-radius_packetcable.c
1105 packet-reload-framing.c
1109 packet-rfid-felica.c
1110 packet-rfid-mifare.c
1112 packet-rfid-pn532-hci.c
1163 packet-s7comm_szl_ids.c
1173 packet-scriptingservice.c
1202 packet-slowprotocols.c
1207 packet-smb-mailslot.c
1209 packet-smb-sidsnooping.c
1239 packet-stat-notify.c
1249 packet-sysdig-event.c
1262 packet-teimanagement.c
1273 packet-tivoconnect.c
1287 packet-turnchannel.c
1313 packet-usb-masstorage.c
1338 packet-vssmonitoring.c
1351 packet-wfleet-hdlc.c
1354 packet-wifi-display.c
1356 packet-windows-common.c
1376 packet-xmpp-conference.c
1379 packet-xmpp-jingle.c
1395 packet-zbee-nwk-gp.c
1396 packet-zbee-security.c
1398 packet-zbee-zcl-closures.c
1399 packet-zbee-zcl-general.c
1400 packet-zbee-zcl-ha.c
1401 packet-zbee-zcl-hvac.c
1402 packet-zbee-zcl-lighting.c
1403 packet-zbee-zcl-meas-sensing.c
1404 packet-zbee-zcl-misc.c
1405 packet-zbee-zcl-sas.c
1406 packet-zbee-zcl-se.c
1408 packet-zbee-zdp-binding.c
1409 packet-zbee-zdp-discovery.c
1410 packet-zbee-zdp-management.c
1418 set(DISSECTOR_SUPPORT_SRC
1423 source_group(dissector-support FILES ${DISSECTOR_SUPPORT_SRC})
1427 ${PIDL_DISSECTOR_SRC}
1428 ${PIDL_DISSECTOR_AUTOGEN_SRC}
1429 ${ASN1_DISSECTOR_SRC}
1430 ${NCP2222_DISSECTOR_SRC}
1431 ${CUSTOM_DISSECTOR_SRC}
1432 ${CUSTOM_DIRTY_ASN1_DISSECTOR_SRC}
1434 source_group(dissectors FILES ${DISSECTOR_FILES})
1436 set(ALL_DISSECTOR_SRC
1438 ${CORBA_IDL_DISSECTOR_SRC}
1441 register_dissector_files(register.c
1443 ${ALL_DISSECTOR_SRC}
1448 ${PIDL_DISSECTOR_SRC}
1449 ${CLEAN_ASN1_DISSECTOR_SRC}
1450 ${CLEAN_CORBA_IDL_DISSECTOR_SRC}
1451 ${NCP2222_DISSECTOR_SRC}
1452 ${DISSECTOR_SUPPORT_SRC}
1455 set_source_files_properties(
1458 COMPILE_FLAGS "${WERROR_COMMON_FLAGS}"
1461 add_library(dissectors OBJECT
1463 ${DISSECTOR_SUPPORT_SRC}
1466 set_target_properties(dissectors PROPERTIES
1467 FOLDER "Libs/epan/dissectors"
1468 COMPILE_DEFINITIONS "WS_BUILD_DLL"
1469 COMPILE_OPTIONS "${WS_WARNINGS_C_FLAGS}"
1472 set(CHECKAPI_FILE_LIST "${CMAKE_CURRENT_BINARY_DIR}/files.txt")
1473 file(GLOB DISSECTOR_HEADERS RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.h")
1474 file(WRITE "${CHECKAPI_FILE_LIST}" "${DISSECTOR_FILES}" "${CORBA_IDL_DISSECTOR_SRC}")
1479 -g abort -g termoutput -build --file ${CHECKAPI_FILE_LIST}
1481 ${DISSECTOR_SUPPORT_SRC}
1482 ${DISSECTOR_HEADERS}
1486 # Editor modelines - http://www.wireshark.org/tools/modelines.html
1491 # indent-tabs-mode: t
1494 # vi: set shiftwidth=8 tabstop=8 noexpandtab:
1495 # :indentSize=8:tabSize=8:noTabs=false: