From Juliusz Chroboczek via bug #5812: Dissector for the Babel Routing
[obnox/wireshark/wip.git] / epan / CMakeLists.txt
index 1f89a60fd3454d25f6b0de1af3939002bf009f70..3856780174bef99e85283d257e8a81c96143473e 100644 (file)
 #
 
 if (HAVE_LIBLUA)
-       add_subdirectory( wslua )
-       set(WSLUA_LIB wslua)
-else()
-       set(WSLUA_LIB )
+       include( wslua/CMakeLists.txt )
 endif()
 if (HAVE_LIBPYTHON)
-       add_subdirectory( wspython )
-       set(WSPYTHON_LIB wspython)
-else()
-       set(WSPYTHON_LIB )
+       include( wspython/CMakeLists.txt )
 endif()
 
+add_subdirectory( dissectors/dcerpc )
+
 include_directories(
        ${CMAKE_CURRENT_BINARY_DIR}
        ${CMAKE_CURRENT_SOURCE_DIR}/dfilter
        ${CMAKE_CURRENT_SOURCE_DIR}/dissectors
        ${CMAKE_CURRENT_SOURCE_DIR}/ftypes
-)
-
-link_directories(
-       wslua
-       wspython
+       ${CMAKE_CURRENT_SOURCE_DIR}/wslua
+       ${CMAKE_CURRENT_SOURCE_DIR}/wspython
 )
 
 set(CRC_FILES
@@ -82,6 +75,10 @@ set(DFILTER_FILES
        dfilter/syntax-tree.c
 )
 
+set(DFILTER_CLEAN_FILES
+       ${DFILTER_FILES}
+)
+
 add_lex_files(DFILTER_FILES
        dfilter/scanner.l
 )
@@ -90,6 +87,50 @@ add_lemon_files(DFILTER_FILES
        dfilter/grammar.lemon
 )
 
+if (AUTOGEN_pidl)
+    # TODO
+endif()
+
+if (AUTOGEN_dcerpc)
+  FOREACH(PROTOCOL_NAME ${PIDL_DISSECTOR_AUTOGEN_NAMES})
+    set(PIDL_DISSECTOR_AUTOGEN_SRC
+       ${PIDL_DISSECTOR_AUTOGEN_SRC}
+       dissectors/dcerpc/${PROTOCOL_NAME}/packet-dcerpc-${PROTOCOL_NAME}.c
+    )
+  ENDFOREACH()
+
+  FOREACH(PROTOCOL_NAME ${PIDL_DISSECTOR_AUTOGEN_NAMES})
+    SET(CUR_PROTO_DIR ${CMAKE_CURRENT_SOURCE_DIR}/dissectors/dcerpc/${PROTOCOL_NAME})
+    SET(CUR_PROTO_C_FILE packet-dcerpc-${PROTOCOL_NAME}.c)
+    SET(CUR_PROTO_H_FILE packet-dcerpc-${PROTOCOL_NAME}.h)
+    ADD_CUSTOM_COMMAND(
+       OUTPUT
+         ${CUR_PROTO_DIR}/${CUR_PROTO_C_FILE}
+         ${CUR_PROTO_DIR}/${CUR_PROTO_H_FILE}
+       COMMAND
+         idl2wrs ${PROTOCOL_NAME}
+       COMMAND
+         ${CMAKE_COMMAND} -E copy_if_different ${CUR_PROTO_DIR}/${CUR_PROTO_C_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/dissectors/${CUR_PROTO_C_FILE}
+       COMMAND
+         ${CMAKE_COMMAND} -E copy_if_different ${CUR_PROTO_DIR}/${CUR_PROTO_H_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/dissectors/${CUR_PROTO_H_FILE}
+       WORKING_DIRECTORY
+         ${CUR_PROTO_DIR}
+       DEPENDS
+         ${CUR_PROTO_DIR}/${PROTOCOL_NAME}.idl
+         ${CUR_PROTO_DIR}/${PROTOCOL_NAME}.cnf
+         ${CUR_PROTO_DIR}/packet-dcerpc-${PROTOCOL_NAME}-template.c
+         ${CUR_PROTO_DIR}/packet-dcerpc-${PROTOCOL_NAME}-template.h
+    )
+  ENDFOREACH()
+else()
+  FOREACH(PROTOCOL_NAME ${PIDL_DISSECTOR_AUTOGEN_NAMES})
+    set(PIDL_DISSECTOR_AUTOGEN_SRC
+       ${PIDL_DISSECTOR_AUTOGEN_SRC}
+       dissectors/packet-dcerpc-${PROTOCOL_NAME}.c
+    )
+  ENDFOREACH()
+endif()
+
 ADD_CUSTOM_COMMAND(
     OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/packet-ncp2222.c
     COMMAND ${PYTHON_EXECUTABLE}
@@ -121,26 +162,27 @@ ADD_CUSTOM_COMMAND(
       ${CMAKE_SOURCE_DIR}/tools/process-x11-xcb.pl
 )
 
+# Note that some dissectors are added in dissectors/dcerpc/CMakeLists.txt
 set(PIDL_DISSECTOR_SRC
+#      dissectors/packet-dcerpc-budb.c
+#      dissectors/packet-dcerpc-butc.c
+#      dissectors/packet-dcerpc-drsuapi.c
        dissectors/packet-dcerpc-atsvc.c
-       dissectors/packet-dcerpc-budb.c
-       dissectors/packet-dcerpc-butc.c
        dissectors/packet-dcerpc-dfs.c
-       dissectors/packet-dcerpc-drsuapi.c
        dissectors/packet-dcerpc-dssetup.c
        dissectors/packet-dcerpc-efs.c
+       dissectors/packet-dcerpc-frstrans.c
        dissectors/packet-dcerpc-initshutdown.c
        dissectors/packet-dcerpc-nspi.c
        dissectors/packet-dcerpc-rfr.c
+       dissectors/packet-dcerpc-srvsvc.c
        dissectors/packet-dcerpc-wkssvc.c
        dissectors/packet-dcerpc-wzcsvc.c
-       dissectors/packet-dcerpc-frstrans.c
 )
 set(DIRTY_PIDL_DISSECTOR_SRC
        dissectors/packet-dcerpc-dnsserver.c
        dissectors/packet-dcerpc-eventlog.c
        dissectors/packet-dcerpc-lsa.c
-       dissectors/packet-dcerpc-srvsvc.c
        dissectors/packet-dcerpc-winreg.c
 )
 set(ASN1_DISSECTOR_SRC
@@ -149,6 +191,7 @@ set(ASN1_DISSECTOR_SRC
        dissectors/packet-ansi_tcap.c
        dissectors/packet-camel.c
        dissectors/packet-cdt.c
+       dissectors/packet-charging_ase.c
        dissectors/packet-cmip.c
        dissectors/packet-cmp.c
        dissectors/packet-cms.c
@@ -171,6 +214,7 @@ set(ASN1_DISSECTOR_SRC
        dissectors/packet-h450-ros.c
        dissectors/packet-h460.c
        dissectors/packet-h501.c
+       dissectors/packet-idmp.c
        dissectors/packet-logotypecertextn.c
        dissectors/packet-mms.c
        dissectors/packet-mpeg-audio.c
@@ -179,10 +223,12 @@ set(ASN1_DISSECTOR_SRC
        dissectors/packet-ocsp.c
        dissectors/packet-opsi.c
        dissectors/packet-p7.c
+       dissectors/packet-p772.c
        dissectors/packet-pkcs1.c
        dissectors/packet-pkinit.c
        dissectors/packet-pkix1explicit.c
        dissectors/packet-pkix1implicit.c
+       dissectors/packet-pkixac.c
        dissectors/packet-pkixproxy.c
        dissectors/packet-pkixqualified.c
        dissectors/packet-pkixtsp.c
@@ -191,43 +237,46 @@ set(ASN1_DISSECTOR_SRC
        dissectors/packet-qsig.c
        dissectors/packet-ranap.c
        dissectors/packet-ros.c
-       dissectors/packet-rtnet.c
        dissectors/packet-rtse.c
-       dissectors/packet-s4406.c
+       dissectors/packet-rua.c
+       dissectors/packet-s1ap.c
        dissectors/packet-sabp.c
        dissectors/packet-smrse.c
        dissectors/packet-spnego.c
+       dissectors/packet-sv.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
        dissectors/packet-x509if.c
-       dissectors/packet-x509sat.c 
+       dissectors/packet-x509sat.c
 )
 
 set(DIRTY_ASN1_DISSECTOR_SRC
        dissectors/packet-ansi_map.c
-       dissectors/packet-charging_ase.c
        dissectors/packet-gnm.c
        dissectors/packet-gsm_map.c
+       dissectors/packet-gprscdr.c
+       dissectors/packet-HI2Operations.c
+       dissectors/packet-hnbap.c
        dissectors/packet-inap.c
        dissectors/packet-ldap.c
        dissectors/packet-lte-rrc.c
        dissectors/packet-nbap.c
+       dissectors/packet-p1.c
+       dissectors/packet-p22.c
        dissectors/packet-pcap.c
        dissectors/packet-pkcs12.c
        dissectors/packet-pres.c
        dissectors/packet-rnsap.c
        dissectors/packet-rrc.c
        dissectors/packet-rrlp.c
-       dissectors/packet-s1ap.c
        dissectors/packet-snmp.c
        dissectors/packet-t125.c
        dissectors/packet-tcap.c
-       dissectors/packet-x2ap.c
-       dissectors/packet-x411.c
-       dissectors/packet-x420.c
+       dissectors/packet-tetra.c
 )
 
 set(DISSECTOR_SRC
@@ -241,6 +290,8 @@ set(DISSECTOR_SRC
        dissectors/packet-acap.c
        dissectors/packet-acn.c
        dissectors/packet-actrace.c
+       dissectors/packet-adwin.c
+       dissectors/packet-adwin-config.c
        dissectors/packet-afp.c
        dissectors/packet-afs.c
        dissectors/packet-agentx.c
@@ -271,6 +322,7 @@ set(DISSECTOR_SRC
        dissectors/packet-alcap.c
        dissectors/packet-amqp.c
        dissectors/packet-amr.c
+       dissectors/packet-ancp.c
        dissectors/packet-ans.c
        dissectors/packet-ansi_637.c
        dissectors/packet-ansi_683.c
@@ -280,23 +332,30 @@ set(DISSECTOR_SRC
        dissectors/packet-aoe.c
        dissectors/packet-ap1394.c
        dissectors/packet-app-pkix-cert.c
+       dissectors/packet-applemidi.c
        dissectors/packet-arcnet.c
        dissectors/packet-armagetronad.c
        dissectors/packet-arp.c
        dissectors/packet-artnet.c
        dissectors/packet-aruba-adp.c
+       dissectors/packet-aruba-erm.c
+       dissectors/packet-aruba-papi.c
        dissectors/packet-asap.c
        dissectors/packet-ascend.c
        dissectors/packet-asf.c
+       dissectors/packet-assa_r3.c
        dissectors/packet-atalk.c
        dissectors/packet-atm.c
+       dissectors/packet-atmtcp.c
        dissectors/packet-auto_rp.c
        dissectors/packet-ax4000.c
        dissectors/packet-ayiya.c
        dissectors/packet-bacapp.c
        dissectors/packet-bacnet.c
        dissectors/packet-banana.c
+       dissectors/packet-babel.c
        dissectors/packet-bat.c
+       dissectors/packet-batadv.c
        dissectors/packet-bctp.c
        dissectors/packet-beep.c
        dissectors/packet-ber.c
@@ -317,6 +376,7 @@ set(DISSECTOR_SRC
        dissectors/packet-bthci_evt.c
        dissectors/packet-bthci_sco.c
        dissectors/packet-btl2cap.c
+       dissectors/packet-btobex.c
        dissectors/packet-btrfcomm.c
        dissectors/packet-btsdp.c
        dissectors/packet-bvlc.c
@@ -342,6 +402,7 @@ set(DISSECTOR_SRC
        dissectors/packet-clip.c
        dissectors/packet-clnp.c
        dissectors/packet-cmpp.c
+       dissectors/packet-coap.c
        dissectors/packet-collectd.c
        dissectors/packet-componentstatus.c
        dissectors/packet-cops.c
@@ -354,6 +415,7 @@ set(DISSECTOR_SRC
        dissectors/packet-daap.c
        dissectors/packet-data.c
        dissectors/packet-daytime.c
+       dissectors/packet-db-lsp.c
        dissectors/packet-dcc.c
        dissectors/packet-dccp.c
        dissectors/packet-dcerpc-bossvr.c
@@ -451,6 +513,7 @@ set(DISSECTOR_SRC
        dissectors/packet-dtp.c
        dissectors/packet-dtpt.c
        dissectors/packet-dua.c
+       dissectors/packet-dvbci.c
        dissectors/packet-dvmrp.c
        dissectors/packet-e100.c
        dissectors/packet-e164.c
@@ -459,6 +522,7 @@ set(DISSECTOR_SRC
        dissectors/packet-eapol.c
        dissectors/packet-echo.c
        dissectors/packet-edonkey.c
+       dissectors/packet-erldp.c
        dissectors/packet-egd.c
        dissectors/packet-ehs.c
        dissectors/packet-eigrp.c
@@ -470,7 +534,9 @@ set(DISSECTOR_SRC
        dissectors/packet-epl_v1.c
        dissectors/packet-epmd.c
        dissectors/packet-erf.c
+       dissectors/packet-esio.c
        dissectors/packet-esis.c
+       dissectors/packet-etch.c
        dissectors/packet-eth.c
        dissectors/packet-etherip.c
        dissectors/packet-ethertype.c
@@ -483,9 +549,11 @@ set(DISSECTOR_SRC
        dissectors/packet-fcels.c
        dissectors/packet-fcfcs.c
        dissectors/packet-fcfzs.c
+       dissectors/packet-fcgi.c
        dissectors/packet-fcip.c
        dissectors/packet-fclctl.c
        dissectors/packet-fcoe.c
+       dissectors/packet-fcoib.c
        dissectors/packet-fcp.c
        dissectors/packet-fcsb3.c
        dissectors/packet-fcsp.c
@@ -495,9 +563,11 @@ set(DISSECTOR_SRC
        dissectors/packet-ff.c
        dissectors/packet-fip.c
        dissectors/packet-fix.c
+       dissectors/packet-flip.c
        dissectors/packet-fmp.c
        dissectors/packet-fmp_notify.c
        dissectors/packet-force10-oui.c
+       dissectors/packet-fp_hint.c
        dissectors/packet-fr.c
        dissectors/packet-fractalgeneratorprotocol.c
        dissectors/packet-frame.c
@@ -507,12 +577,14 @@ set(DISSECTOR_SRC
        dissectors/packet-gdsdb.c
        dissectors/packet-gift.c
        dissectors/packet-giop.c
+       dissectors/packet-git.c
        dissectors/packet-glbp.c
+       dissectors/packet-gmhdr.c
        dissectors/packet-gmrp.c
        dissectors/packet-gnutella.c
+       dissectors/packet-gopher.c
        dissectors/packet-gpef.c
        dissectors/packet-gprs-llc.c
-       dissectors/packet-gprs-ns.c
        dissectors/packet-gre.c
        dissectors/packet-gsm_a_bssmap.c
        dissectors/packet-gsm_a_common.c
@@ -526,9 +598,11 @@ set(DISSECTOR_SRC
        dissectors/packet-gsm_sms.c
        dissectors/packet-gsm_sms_ud.c
        dissectors/packet-gsm_um.c
+       dissectors/packet-gsmtap.c
        dissectors/packet-gssapi.c
        dissectors/packet-gtp.c
        dissectors/packet-gtpv2.c
+       dissectors/packet-gvcp.c
        dissectors/packet-gvrp.c
        dissectors/packet-h1.c
        dissectors/packet-h221_nonstd.c
@@ -549,6 +623,7 @@ set(DISSECTOR_SRC
        dissectors/packet-hilscher.c
        dissectors/packet-hip.c
        dissectors/packet-homeplug.c
+       dissectors/packet-hp-erm.c
        dissectors/packet-hpext.c
        dissectors/packet-hpsw.c
        dissectors/packet-hpteam.c
@@ -559,6 +634,7 @@ set(DISSECTOR_SRC
        dissectors/packet-iana-oui.c
        dissectors/packet-iapp.c
        dissectors/packet-iax2.c
+       dissectors/packet-infiniband_sdp.c
        dissectors/packet-icap.c
        dissectors/packet-icep.c
        dissectors/packet-icmp.c
@@ -567,6 +643,7 @@ set(DISSECTOR_SRC
        dissectors/packet-icq.c
        dissectors/packet-idp.c
        dissectors/packet-iec104.c
+       dissectors/packet-ieee1722.c
        dissectors/packet-ieee80211.c
        dissectors/packet-ieee802154.c
        dissectors/packet-ieee8021ah.c
@@ -588,6 +665,7 @@ set(DISSECTOR_SRC
        dissectors/packet-ipfc.c
        dissectors/packet-ipmi.c
        dissectors/packet-ipmi-session.c
+       dissectors/packet-ipnet.c
        dissectors/packet-ipp.c
        dissectors/packet-ipsec.c
        dissectors/packet-ipsec-tcp.c
@@ -617,7 +695,9 @@ set(DISSECTOR_SRC
        dissectors/packet-iwarp-ddp-rdmap.c
        dissectors/packet-iwarp-mpa.c
        dissectors/packet-jabber.c
+       dissectors/packet-jmirror.c
        dissectors/packet-jpeg.c
+       dissectors/packet-json.c
        dissectors/packet-juniper.c
        dissectors/packet-jxta.c
        dissectors/packet-k12.c
@@ -642,6 +722,7 @@ set(DISSECTOR_SRC
        dissectors/packet-ldss.c
        dissectors/packet-lge_monitor.c
        dissectors/packet-linx.c
+       dissectors/packet-lisp-data.c
        dissectors/packet-llc.c
        dissectors/packet-lldp.c
        dissectors/packet-llt.c
@@ -650,6 +731,7 @@ set(DISSECTOR_SRC
        dissectors/packet-loop.c
        dissectors/packet-lpd.c
        dissectors/packet-lsc.c
+       dissectors/packet-ltp.c
        dissectors/packet-lwapp.c
        dissectors/packet-lwres.c
        dissectors/packet-m2pa.c
@@ -657,6 +739,7 @@ set(DISSECTOR_SRC
        dissectors/packet-m2ua.c
        dissectors/packet-m3ua.c
        dissectors/packet-mac-lte.c
+       dissectors/packet-mactelnet.c
        dissectors/packet-maccontrol.c
        dissectors/packet-manolito.c
        dissectors/packet-mbtcp.c
@@ -665,6 +748,7 @@ set(DISSECTOR_SRC
        dissectors/packet-megaco.c
        dissectors/packet-memcache.c
        dissectors/packet-mesh.c
+       dissectors/packet-meta.c
        dissectors/packet-mgcp.c
        dissectors/packet-mikey.c
        dissectors/packet-miop.c
@@ -672,6 +756,8 @@ set(DISSECTOR_SRC
        dissectors/packet-mip6.c
        dissectors/packet-ms-mms.c
        dissectors/packet-mmse.c
+       dissectors/packet-mndp.c
+       dissectors/packet-mongo.c
        dissectors/packet-mount.c
        dissectors/packet-mp2t.c
        dissectors/packet-mp4ves.c
@@ -681,6 +767,7 @@ set(DISSECTOR_SRC
        dissectors/packet-mq.c
        dissectors/packet-mq-pcf.c
        dissectors/packet-mrdisc.c
+       dissectors/packet-mrp-msrp.c
        dissectors/packet-msdp.c
        dissectors/packet-msnlb.c
        dissectors/packet-msn-messenger.c
@@ -706,10 +793,13 @@ set(DISSECTOR_SRC
        dissectors/packet-ncp-sss.c
        dissectors/packet-ncs.c
        dissectors/packet-ndmp.c
+       dissectors/packet-ndp.c
        dissectors/packet-ndps.c
        dissectors/packet-netbios.c
        dissectors/packet-netdump.c
        dissectors/packet-netflow.c
+       dissectors/packet-netmon-802_11.c
+       dissectors/packet-netperfmeter.c
        dissectors/packet-netsync.c
        dissectors/packet-nettl.c
        dissectors/packet-newmail.c
@@ -725,19 +815,21 @@ set(DISSECTOR_SRC
        dissectors/packet-nsip.c
        dissectors/packet-nsrp.c
        dissectors/packet-nt-oui.c
-       dissectors/packet-nt-sonmp.c
        dissectors/packet-nt-tpcp.c
        dissectors/packet-ntlmssp.c
        dissectors/packet-ntp.c
        dissectors/packet-null.c
+       dissectors/packet-nwmtp.c
        dissectors/packet-oicq.c
        dissectors/packet-olsr.c
        dissectors/packet-omapi.c
+       dissectors/packet-omron-fins.c
        dissectors/packet-osi-options.c
        dissectors/packet-osi.c
        dissectors/packet-ositp.c
        dissectors/packet-ospf.c
        dissectors/packet-p_mul.c
+       dissectors/packet-packetbb.c
        dissectors/packet-packetlogger.c
        dissectors/packet-pagp.c
        dissectors/packet-paltalk.c
@@ -749,14 +841,18 @@ set(DISSECTOR_SRC
        dissectors/packet-per.c
        dissectors/packet-pflog.c
        dissectors/packet-pgm.c
+       dissectors/packet-pgsql.c
        dissectors/packet-pim.c
        dissectors/packet-pingpongprotocol.c
        dissectors/packet-pktgen.c
        dissectors/packet-pktc.c
+       dissectors/packet-pnrp.c
        dissectors/packet-pop.c
        dissectors/packet-portmap.c
-       dissectors/packet-pgsql.c
        dissectors/packet-ppi.c
+       dissectors/packet-ppi-geolocation-common.c
+       dissectors/packet-ppi-geolocation-common.h
+       dissectors/packet-ppi-antenna.c
        dissectors/packet-ppp.c
        dissectors/packet-pppoe.c
        dissectors/packet-pptp.c
@@ -771,6 +867,7 @@ set(DISSECTOR_SRC
        dissectors/packet-pw-cesopsn.c
        dissectors/packet-pw-satop.c
        dissectors/packet-q2931.c
+       dissectors/packet-q708.c
        dissectors/packet-q931.c
        dissectors/packet-q933.c
        dissectors/packet-qllc.c
@@ -781,16 +878,20 @@ set(DISSECTOR_SRC
        dissectors/packet-radius.c
        dissectors/packet-radius_packetcable.c
        dissectors/packet-radiotap.c
+       dissectors/packet-radiotap-iter.c
        dissectors/packet-raw.c
        dissectors/packet-rdm.c
        dissectors/packet-rdt.c
        dissectors/packet-redback.c
        dissectors/packet-redbackli.c
+       dissectors/packet-reload.c
+       dissectors/packet-reload-framing.c
        dissectors/packet-retix-bpdu.c
        dissectors/packet-rfc2190.c
        dissectors/packet-rgmp.c
        dissectors/packet-rip.c
        dissectors/packet-ripng.c
+       dissectors/packet-rlc.c
        dissectors/packet-rlc-lte.c
        dissectors/packet-rlm.c
        dissectors/packet-rlogin.c
@@ -808,12 +909,14 @@ set(DISSECTOR_SRC
        dissectors/packet-rpl.c
        dissectors/packet-rquota.c
        dissectors/packet-rsh.c
+       dissectors/packet-rsip.c
        dissectors/packet-rsl.c
        dissectors/packet-rstat.c
        dissectors/packet-rsvp.c
        dissectors/packet-rsync.c
        dissectors/packet-rtcp.c
        dissectors/packet-rtmpt.c
+       dissectors/packet-rtnet.c
        dissectors/packet-rtp-events.c
        dissectors/packet-rtp.c
        dissectors/packet-rtps.c
@@ -824,10 +927,13 @@ set(DISSECTOR_SRC
        dissectors/packet-rx.c
        dissectors/packet-s5066.c
        dissectors/packet-sadmind.c
+       dissectors/packet-sametime.c
        dissectors/packet-sap.c
+       dissectors/packet-sasp.c
        dissectors/packet-sbus.c
        dissectors/packet-sccp.c
        dissectors/packet-sccpmg.c
+       dissectors/packet-scop.c
        dissectors/packet-scsi.c
        dissectors/packet-scsi-mmc.c
        dissectors/packet-scsi-osd.c
@@ -840,6 +946,7 @@ set(DISSECTOR_SRC
        dissectors/packet-sebek.c
        dissectors/packet-ses.c
        dissectors/packet-sflow.c
+       dissectors/packet-sgsap.c
        dissectors/packet-simulcrypt.c
        dissectors/packet-sip.c
        dissectors/packet-sigcomp.c
@@ -864,6 +971,7 @@ set(DISSECTOR_SRC
        dissectors/packet-snaeth.c
        dissectors/packet-sndcp.c
        dissectors/packet-sndcp-xid.c
+       dissectors/packet-socketcan.c
        dissectors/packet-socks.c
        dissectors/packet-nasdaq-soup.c
        dissectors/packet-spp.c
@@ -891,9 +999,11 @@ set(DISSECTOR_SRC
        dissectors/packet-tali.c
        dissectors/packet-tapa.c
        dissectors/packet-tcp.c
+       dissectors/packet-tdmoe.c
        dissectors/packet-tds.c
        dissectors/packet-teamspeak2.c
        dissectors/packet-teimanagement.c
+       dissectors/packet-teklink.c
        dissectors/packet-telnet.c
        dissectors/packet-teredo.c
        dissectors/packet-text-media.c
@@ -905,9 +1015,11 @@ set(DISSECTOR_SRC
        dissectors/packet-tnef.c
        dissectors/packet-tns.c
        dissectors/packet-tn3270.c
+       dissectors/packet-tn5250.c
        dissectors/packet-tpkt.c
        dissectors/packet-tpncp.c
        dissectors/packet-tr.c
+       dissectors/packet-trill.c
        dissectors/packet-trmac.c
        dissectors/packet-tsp.c
        dissectors/packet-tte.c
@@ -923,7 +1035,9 @@ set(DISSECTOR_SRC
        dissectors/packet-usb.c
        dissectors/packet-usb-masstorage.c
        dissectors/packet-usb-hid.c
+       dissectors/packet-usb-hub.c
        dissectors/packet-umts_fp.c
+       dissectors/packet-umts_mac.c
        dissectors/packet-user_encap.c
        dissectors/packet-uts.c
        dissectors/packet-v120.c
@@ -933,10 +1047,12 @@ set(DISSECTOR_SRC
        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-vrrp.c
        dissectors/packet-vtp.c
+       dissectors/packet-vxi11.c
+       dissectors/packet-wai.c
        dissectors/packet-wap.c
        dissectors/packet-wassp.c
        dissectors/packet-wbxml.c
@@ -944,6 +1060,7 @@ set(DISSECTOR_SRC
        dissectors/packet-wcp.c
        dissectors/packet-wfleet-hdlc.c
        dissectors/packet-who.c
+       dissectors/packet-wifi-p2p.c
        dissectors/packet-windows-common.c
        dissectors/packet-winsrepl.c
        dissectors/packet-wlccp.c
@@ -1002,8 +1119,9 @@ set(DISSECTOR_SUPPORT_SRC
        register.c
 )
 
-set(DISSECTOR_ASM_UTILS
+set(LIBWIRESHARK_ASM_FILES
        asm_utils.c
+# todo
 #      !IFDEF NASM
 #      asm_utils_win32_x86.obj: asm_utils_win32_x86.asm
 #              $(NASM) -f $(WIRESHARK_TARGET_PLATFORM) -o $@ $?
@@ -1019,20 +1137,12 @@ set(DISSECTOR_ASM_UTILS
 set(DISSECTOR_FILES
        ${DISSECTOR_SRC}
        ${PIDL_DISSECTOR_SRC}
+       ${PIDL_DISSECTOR_AUTOGEN_SRC}
        ${DIRTY_PIDL_DISSECTOR_SRC}
        ${ASN1_DISSECTOR_SRC}
        ${DIRTY_ASN1_DISSECTOR_SRC}
 )
 
-set_source_files_properties(
-        ${DISSECTOR_SRC}
-       ${PIDL_DISSECTOR_SRC}
-       ${ASN1_DISSECTOR_SRC}
-    PROPERTIES
-       # FIXME: -Werror and -pedantic exclude each other: test for -pedantic
-        # COMPILE_FLAGS -Werror
-)
-
 register_dissector_files(register.c
        dissectors
        ${DISSECTOR_FILES}
@@ -1053,19 +1163,21 @@ set(FTYPE_FILES
 )
 
 ADD_CUSTOM_COMMAND(
-    OUTPUT sminmpec.c
+    OUTPUT
+      sminmpec.c
     COMMAND ${PERL_EXECUTABLE}
-      ${CMAKE_CURRENT_SOURCE_DIR}/make-sminmpec.pl
+      ${CMAKE_SOURCE_DIR}/tools/make-sminmpec.pl
       ${CMAKE_CURRENT_SOURCE_DIR}/enterprise-numbers
       sminmpec.c
     DEPENDS
       enterprise-numbers
-      make-sminmpec.pl
+      ${CMAKE_SOURCE_DIR}/tools/make-sminmpec.pl
 )
 
 set(LIBWIRESHARK_FILES
        addr_and_mask.c
        addr_resolv.c
+       address_to_str.c
        adler32.c
        afn.c
        asn1.c
@@ -1137,6 +1249,10 @@ set(LIBWIRESHARK_FILES
        xdlc.c
 )
 
+set(LIBWIRESHARK_CLEAN_FILES
+       ${LIBWIRESHARK_FILES}
+)
+
 add_lex_files(LIBWIRESHARK_FILES
        diam_dict.l
        dtd_parse.l
@@ -1152,9 +1268,6 @@ add_lemon_files(LIBWIRESHARK_FILES
 set(epan_LIBS
        wiretap
        wsutil
-#      @INET_ATON_LO@
-#      @INET_PTON_LO@
-#      @INET_NTOP_LO@
 #      @SSL_LIBS@
        ${PCRE_LIBRARIES}
        ${GLIB2_LIBRARIES}
@@ -1170,9 +1283,40 @@ set(epan_LIBS
        ${GNUTLS_LIBRARIES}
        ${SMI_LIBRARIES}
        ${M_LIBRARIES}
+       ${LUA_LIBRARIES}
+       ${PYTHON_LIBRARIES}
 )
 
-add_library(epan SHARED
+set(CLEAN_FILES
+       # Needed to trigger build of the include files for x11
+       #x11-declarations.h
+       #x11-register-info.h
+       ${LIBWIRESHARK_CLEAN_FILES}
+       ${CRC_FILES}
+       ${CRYPT_FILES}
+       ${DFILTER_CLEAN_FILES}
+       ${FTYPE_FILES}
+       # ${DISSECTOR_FILES} contains dirty files
+       ${DISSECTOR_SRC}
+       ${PIDL_DISSECTOR_SRC}
+       ${PIDL_DISSECTOR_AUTOGEN_SRC}
+       ${ASN1_DISSECTOR_SRC}
+       # ${DISSECTOR_FILES } end
+       ${DISSECTOR_SUPPORT_SRC}
+       ${LIBWIRESHARK_ASM_FILES}
+       ${WSLUA_FILES}
+       ${WSPYTHON_FILES}
+)
+
+if (WERROR)
+    set_source_files_properties(
+       ${CLEAN_FILES}
+       PROPERTIES
+       COMPILE_FLAGS -Werror
+    )
+endif()
+
+add_library(epan ${LINK_MODE_LIB}
        # Needed to trigger build of the include files for x11
        #x11-declarations.h
        #x11-register-info.h
@@ -1181,25 +1325,27 @@ add_library(epan SHARED
        ${CRYPT_FILES}
        ${DFILTER_FILES}
        ${FTYPE_FILES}
+       ${WSLUA_FILES}
+       ${WSPYTHON_FILES}
        ${DISSECTOR_FILES}
        ${DISSECTOR_SUPPORT_SRC}
-       ${DISSECTOR_ASM_UTILS}
+       ${LIBWIRESHARK_ASM_FILES}
 )
-# In case we want the libwireshark name back
-# SET_TARGET_PROPERTIES(epan PROPERTIES OUTPUT_NAME "wireshark")
+set_target_properties(epan PROPERTIES LINK_FLAGS "${WS_LINK_FLAGS}")
 
-target_link_libraries(epan
-       ${WSLUA_LIB}
-       ${WSPYTHON_LIB}
-)
+# 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")
 
 target_link_libraries(epan ${epan_LIBS})
 
 add_dependencies(epan lemon)
 
-install(TARGETS epan
-       LIBRARY DESTINATION lib
-       RUNTIME DESTINATION lib
-       ARCHIVE DESTINATION lib
-)
+if(NOT ${ENABLE_STATIC})
+       install(TARGETS epan
+               LIBRARY DESTINATION lib
+               RUNTIME DESTINATION lib
+               ARCHIVE DESTINATION lib
+       )
+endif()