Almost working out-of-tree builds for the documentation,
[obnox/wireshark/wip.git] / epan / CMakeLists.txt
1 # CMakeLists.txt
2 #
3 # $Id$
4 #
5 # Wireshark - Network traffic analyzer
6 # By Gerald Combs <gerald@wireshark.org>
7 # Copyright 1998 Gerald Combs
8 #
9 # This program is free software; you can redistribute it and/or
10 # modify it under the terms of the GNU General Public License
11 # as published by the Free Software Foundation; either version 2
12 # of the License, or (at your option) any later version.
13 #
14 # This program is distributed in the hope that it will be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 # GNU General Public License for more details.
18 #
19 # You should have received a copy of the GNU General Public License
20 # along with this program; if not, write to the Free Software
21 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
22 #
23
24 if (HAVE_LIBLUA)
25         add_subdirectory( wslua )
26         set(WSLUA_LIB wslua)
27 else()
28         set(WSLUA_LIB )
29 endif()
30 if (HAVE_LIBPYTHON)
31         add_subdirectory( wspython )
32         set(WSPYTHON_LIB wspython)
33 else()
34         set(WSPYTHON_LIB )
35 endif()
36
37 add_subdirectory( dissectors/dcerpc )
38
39 include_directories(
40         ${CMAKE_CURRENT_BINARY_DIR}
41         ${CMAKE_CURRENT_SOURCE_DIR}/dfilter
42         ${CMAKE_CURRENT_SOURCE_DIR}/dissectors
43         ${CMAKE_CURRENT_SOURCE_DIR}/ftypes
44 )
45
46 link_directories(
47         wslua
48         wspython
49 )
50
51 set(CRC_FILES
52         crc/crc-16-plain.c
53 )
54
55 set(CRYPT_FILES
56         crypt/airpdcap.c
57         crypt/airpdcap_ccmp.c
58         crypt/airpdcap_debug.c
59         crypt/airpdcap_rijndael.c
60         crypt/airpdcap_tkip.c
61         crypt/airpdcap_wep.c
62         crypt/crypt-aes.c
63         crypt/crypt-des.c
64         crypt/crypt-md4.c
65         crypt/crypt-md5.c
66         crypt/crypt-rc4.c
67         crypt/crypt-sha1.c
68 )
69
70 set(DFILTER_FILES
71         dfilter/dfilter.c
72         dfilter/dfilter-macro.c
73         dfilter/dfunctions.c
74         dfilter/dfvm.c
75         dfilter/drange.c
76         dfilter/gencode.c
77         dfilter/semcheck.c
78         dfilter/sttype-function.c
79         dfilter/sttype-integer.c
80         dfilter/sttype-pointer.c
81         dfilter/sttype-range.c
82         dfilter/sttype-string.c
83         dfilter/sttype-test.c
84         dfilter/syntax-tree.c
85 )
86
87 set(DFILTER_CLEAN_FILES
88         ${DFILTER_FILES}
89 )
90
91 add_lex_files(DFILTER_FILES
92         dfilter/scanner.l
93 )
94
95 add_lemon_files(DFILTER_FILES
96         dfilter/grammar.lemon
97 )
98
99 if (AUTOGEN_pidl)
100     # TODO
101 endif()
102
103 if (AUTOGEN_dcerpc)
104   FOREACH(PROTOCOL_NAME ${PIDL_DISSECTOR_AUTOGEN_NAMES})
105     set(PIDL_DISSECTOR_AUTOGEN_SRC 
106         ${PIDL_DISSECTOR_AUTOGEN_SRC}
107         dissectors/dcerpc/${PROTOCOL_NAME}/packet-dcerpc-${PROTOCOL_NAME}.c
108     )
109   ENDFOREACH()
110
111   FOREACH(PROTOCOL_NAME ${PIDL_DISSECTOR_AUTOGEN_NAMES})
112     SET(CUR_PROTO_DIR ${CMAKE_CURRENT_SOURCE_DIR}/dissectors/dcerpc/${PROTOCOL_NAME})
113     SET(CUR_PROTO_C_FILE packet-dcerpc-${PROTOCOL_NAME}.c)
114     SET(CUR_PROTO_H_FILE packet-dcerpc-${PROTOCOL_NAME}.h)
115     ADD_CUSTOM_COMMAND(
116         OUTPUT
117           ${CUR_PROTO_DIR}/${CUR_PROTO_C_FILE}
118           ${CUR_PROTO_DIR}/${CUR_PROTO_H_FILE}
119         COMMAND
120           idl2wrs ${PROTOCOL_NAME}
121         COMMAND
122           ${CMAKE_COMMAND} -E copy_if_different ${CUR_PROTO_DIR}/${CUR_PROTO_C_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/dissectors/${CUR_PROTO_C_FILE}
123         COMMAND
124           ${CMAKE_COMMAND} -E copy_if_different ${CUR_PROTO_DIR}/${CUR_PROTO_H_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/dissectors/${CUR_PROTO_H_FILE}
125         WORKING_DIRECTORY
126           ${CUR_PROTO_DIR}
127         DEPENDS
128           ${CUR_PROTO_DIR}/${PROTOCOL_NAME}.idl
129           ${CUR_PROTO_DIR}/${PROTOCOL_NAME}.cnf
130           ${CUR_PROTO_DIR}/packet-dcerpc-${PROTOCOL_NAME}-template.c 
131           ${CUR_PROTO_DIR}/packet-dcerpc-${PROTOCOL_NAME}-template.h
132     )
133   ENDFOREACH()
134 else()
135   FOREACH(PROTOCOL_NAME ${PIDL_DISSECTOR_AUTOGEN_NAMES})
136     set(PIDL_DISSECTOR_AUTOGEN_SRC 
137         ${PIDL_DISSECTOR_AUTOGEN_SRC}
138         dissectors/packet-dcerpc-${PROTOCOL_NAME}.c
139     )
140   ENDFOREACH()
141 endif()
142
143 ADD_CUSTOM_COMMAND(
144     OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/packet-ncp2222.c
145     COMMAND ${PYTHON_EXECUTABLE}
146       ${CMAKE_SOURCE_DIR}/tools/ncp2222.py
147       -o ${CMAKE_CURRENT_BINARY_DIR}/packet-ncp2222.c
148     DEPENDS
149       dissectors/packet-ncp2222.inc
150       ${CMAKE_SOURCE_DIR}/tools/ncp2222.py
151 )
152
153 ADD_CUSTOM_COMMAND(
154     OUTPUT
155        x11-dissector
156 #      x11-declarations.h
157 #      x11-enum.h
158 #      x11-extension-errors.h
159 #      x11-extension-implementation.h
160 #      x11-fields
161 #      x11-glx-render-enum.h
162 #      x11-register-info.h
163     COMMAND ${PERL_EXECUTABLE}
164       ${CMAKE_SOURCE_DIR}/tools/process-x11-fields.pl
165       <dissectors/x11-fields
166     COMMAND ${PERL_EXECUTABLE}
167       ${CMAKE_SOURCE_DIR}/tools/process-x11-xcb.pl
168     DEPENDS
169       dissectors/x11-fields
170       ${CMAKE_SOURCE_DIR}/tools/process-x11-fields.pl
171       ${CMAKE_SOURCE_DIR}/tools/process-x11-xcb.pl
172 )
173
174 set(PIDL_DISSECTOR_SRC
175         dissectors/packet-dcerpc-atsvc.c
176         dissectors/packet-dcerpc-dfs.c
177         dissectors/packet-dcerpc-dssetup.c
178         dissectors/packet-dcerpc-efs.c
179         dissectors/packet-dcerpc-frstrans.c
180         dissectors/packet-dcerpc-initshutdown.c
181         dissectors/packet-dcerpc-nspi.c
182         dissectors/packet-dcerpc-rfr.c
183         dissectors/packet-dcerpc-srvsvc.c
184         dissectors/packet-dcerpc-wkssvc.c
185         dissectors/packet-dcerpc-wzcsvc.c
186 )
187 set(DIRTY_PIDL_DISSECTOR_SRC
188         dissectors/packet-dcerpc-dnsserver.c
189         dissectors/packet-dcerpc-eventlog.c
190         dissectors/packet-dcerpc-lsa.c
191         dissectors/packet-dcerpc-winreg.c
192 )
193 set(ASN1_DISSECTOR_SRC
194         dissectors/packet-acp133.c
195         dissectors/packet-acse.c
196         dissectors/packet-ansi_tcap.c
197         dissectors/packet-camel.c
198         dissectors/packet-cdt.c
199         dissectors/packet-charging_ase.c
200         dissectors/packet-cmip.c
201         dissectors/packet-cmp.c
202         dissectors/packet-cms.c
203         dissectors/packet-crmf.c
204         dissectors/packet-dap.c
205         dissectors/packet-disp.c
206         dissectors/packet-dop.c
207         dissectors/packet-dsp.c
208         dissectors/packet-ess.c
209         dissectors/packet-ftam.c
210         dissectors/packet-goose.c
211         dissectors/packet-h225.c
212         dissectors/packet-h235.c
213         dissectors/packet-h245.c
214         dissectors/packet-h248.c
215         dissectors/packet-h282.c
216         dissectors/packet-h283.c
217         dissectors/packet-h323.c
218         dissectors/packet-h450.c
219         dissectors/packet-h450-ros.c
220         dissectors/packet-h460.c
221         dissectors/packet-h501.c
222         dissectors/packet-logotypecertextn.c
223         dissectors/packet-mms.c
224         dissectors/packet-mpeg-audio.c
225         dissectors/packet-mpeg-pes.c
226         dissectors/packet-ns_cert_exts.c
227         dissectors/packet-ocsp.c
228         dissectors/packet-opsi.c
229         dissectors/packet-p7.c
230         dissectors/packet-pkcs1.c
231         dissectors/packet-pkinit.c
232         dissectors/packet-pkix1explicit.c
233         dissectors/packet-pkix1implicit.c
234         dissectors/packet-pkixproxy.c
235         dissectors/packet-pkixqualified.c
236         dissectors/packet-pkixtsp.c
237         dissectors/packet-q932.c
238         dissectors/packet-q932-ros.c
239         dissectors/packet-qsig.c
240         dissectors/packet-ranap.c
241         dissectors/packet-ros.c
242         dissectors/packet-rtnet.c
243         dissectors/packet-rtse.c
244         dissectors/packet-rua.c
245         dissectors/packet-s4406.c
246         dissectors/packet-sabp.c
247         dissectors/packet-s1ap.c
248         dissectors/packet-smrse.c
249         dissectors/packet-spnego.c
250         dissectors/packet-ulp.c
251         dissectors/packet-wlancertextn.c
252         dissectors/packet-x224.c
253         dissectors/packet-x509af.c
254         dissectors/packet-x2ap.c
255         dissectors/packet-x509ce.c
256         dissectors/packet-x509if.c
257         dissectors/packet-x509sat.c
258 )
259
260 set(DIRTY_ASN1_DISSECTOR_SRC
261         dissectors/packet-ansi_map.c
262         dissectors/packet-gnm.c
263         dissectors/packet-gsm_map.c
264         dissectors/packet-hnbap.c
265         dissectors/packet-inap.c
266         dissectors/packet-ldap.c
267         dissectors/packet-lte-rrc.c
268         dissectors/packet-nbap.c
269         dissectors/packet-pcap.c
270         dissectors/packet-pkcs12.c
271         dissectors/packet-pres.c
272         dissectors/packet-rnsap.c
273         dissectors/packet-rrc.c
274         dissectors/packet-rrlp.c
275         dissectors/packet-snmp.c
276         dissectors/packet-t125.c
277         dissectors/packet-tcap.c
278         dissectors/packet-x411.c
279         dissectors/packet-x420.c
280 )
281
282 set(DISSECTOR_SRC
283         dissectors/packet-2dparityfec.c
284         dissectors/packet-3com-njack.c
285         dissectors/packet-3com-xns.c
286         dissectors/packet-3g-a11.c
287         dissectors/packet-6lowpan.c
288         dissectors/packet-9p.c
289         dissectors/packet-aarp.c
290         dissectors/packet-acap.c
291         dissectors/packet-acn.c
292         dissectors/packet-actrace.c
293         dissectors/packet-afp.c
294         dissectors/packet-afs.c
295         dissectors/packet-agentx.c
296         dissectors/packet-aim.c
297         dissectors/packet-aim-adverts.c
298         dissectors/packet-aim-admin.c
299         dissectors/packet-aim-bos.c
300         dissectors/packet-aim-buddylist.c
301         dissectors/packet-aim-chat.c
302         dissectors/packet-aim-chatnav.c
303         dissectors/packet-aim-directory.c
304         dissectors/packet-aim-email.c
305         dissectors/packet-aim-generic.c
306         dissectors/packet-aim-icq.c
307         dissectors/packet-aim-invitation.c
308         dissectors/packet-aim-location.c
309         dissectors/packet-aim-messaging.c
310         dissectors/packet-aim-oft.c
311         dissectors/packet-aim-popup.c
312         dissectors/packet-aim-signon.c
313         dissectors/packet-aim-ssi.c
314         dissectors/packet-aim-sst.c
315         dissectors/packet-aim-stats.c
316         dissectors/packet-aim-translate.c
317         dissectors/packet-aim-userlookup.c
318         dissectors/packet-airopeek.c
319         dissectors/packet-ajp13.c
320         dissectors/packet-alcap.c
321         dissectors/packet-amqp.c
322         dissectors/packet-amr.c
323         dissectors/packet-ans.c
324         dissectors/packet-ansi_637.c
325         dissectors/packet-ansi_683.c
326         dissectors/packet-ansi_801.c
327         dissectors/packet-ansi_a.c
328         dissectors/packet-aodv.c
329         dissectors/packet-aoe.c
330         dissectors/packet-ap1394.c
331         dissectors/packet-app-pkix-cert.c
332         dissectors/packet-applemidi.c
333         dissectors/packet-arcnet.c
334         dissectors/packet-armagetronad.c
335         dissectors/packet-arp.c
336         dissectors/packet-artnet.c
337         dissectors/packet-aruba-adp.c
338         dissectors/packet-aruba-erm.c
339         dissectors/packet-asap.c
340         dissectors/packet-ascend.c
341         dissectors/packet-asf.c
342         dissectors/packet-assa_r3.c
343         dissectors/packet-atalk.c
344         dissectors/packet-atm.c
345         dissectors/packet-auto_rp.c
346         dissectors/packet-ax4000.c
347         dissectors/packet-ayiya.c
348         dissectors/packet-bacapp.c
349         dissectors/packet-bacnet.c
350         dissectors/packet-banana.c
351         dissectors/packet-bat.c
352         dissectors/packet-bctp.c
353         dissectors/packet-beep.c
354         dissectors/packet-ber.c
355         dissectors/packet-bfd.c
356         dissectors/packet-bgp.c
357         dissectors/packet-bittorrent.c
358         dissectors/packet-bjnp.c
359         dissectors/packet-bofl.c
360         dissectors/packet-bootp.c
361         dissectors/packet-bootparams.c
362         dissectors/packet-bpdu.c
363         dissectors/packet-brdwlk.c
364         dissectors/packet-bssap.c
365         dissectors/packet-bssgp.c
366         dissectors/packet-btamp.c
367         dissectors/packet-bthci_acl.c
368         dissectors/packet-bthci_cmd.c
369         dissectors/packet-bthci_evt.c
370         dissectors/packet-bthci_sco.c
371         dissectors/packet-btl2cap.c
372         dissectors/packet-btrfcomm.c
373         dissectors/packet-btsdp.c
374         dissectors/packet-bvlc.c
375         dissectors/packet-calcappprotocol.c
376         dissectors/packet-capwap.c
377         dissectors/packet-cast.c
378         dissectors/packet-catapult-dct2000.c
379         dissectors/packet-ccsds.c
380         dissectors/packet-cdp.c
381         dissectors/packet-cfm.c
382         dissectors/packet-cgmp.c
383         dissectors/packet-chdlc.c
384         dissectors/packet-cigi.c
385         dissectors/packet-cimd.c
386         dissectors/packet-cimetrics.c
387         dissectors/packet-cip.c
388         dissectors/packet-cisco-erspan.c
389         dissectors/packet-cisco-oui.c
390         dissectors/packet-cisco-sm.c
391         dissectors/packet-cisco-wids.c
392         dissectors/packet-classicstun.c
393         dissectors/packet-clearcase.c
394         dissectors/packet-clip.c
395         dissectors/packet-clnp.c
396         dissectors/packet-cmpp.c
397         dissectors/packet-collectd.c
398         dissectors/packet-componentstatus.c
399         dissectors/packet-cops.c
400         dissectors/packet-cosine.c
401         dissectors/packet-cpfi.c
402         dissectors/packet-cpha.c
403         dissectors/packet-csm-encaps.c
404         dissectors/packet-ctdb.c
405         dissectors/packet-cups.c
406         dissectors/packet-daap.c
407         dissectors/packet-data.c
408         dissectors/packet-daytime.c
409         dissectors/packet-dcc.c
410         dissectors/packet-dccp.c
411         dissectors/packet-dcerpc-bossvr.c
412         dissectors/packet-dcerpc-browser.c
413         dissectors/packet-dcerpc-cds_clerkserver.c
414         dissectors/packet-dcerpc-cds_solicit.c
415         dissectors/packet-dcerpc-conv.c
416         dissectors/packet-dcerpc-cprpc_server.c
417         dissectors/packet-dcerpc-dce122.c
418         dissectors/packet-dcerpc-dtsprovider.c
419         dissectors/packet-dcerpc-dtsstime_req.c
420         dissectors/packet-dcerpc-epm.c
421         dissectors/packet-dcerpc-fileexp.c
422         dissectors/packet-dcerpc-fldb.c
423         dissectors/packet-dcerpc-frsapi.c
424         dissectors/packet-dcerpc-frsrpc.c
425         dissectors/packet-dcerpc-ftserver.c
426         dissectors/packet-dcerpc-icl_rpc.c
427         dissectors/packet-dcerpc-krb5rpc.c
428         dissectors/packet-dcerpc-llb.c
429         dissectors/packet-dcerpc-mapi.c
430         dissectors/packet-dcerpc-messenger.c
431         dissectors/packet-dcerpc-mgmt.c
432         dissectors/packet-dcerpc-ndr.c
433         dissectors/packet-dcerpc-netlogon.c
434         dissectors/packet-dcerpc-pnp.c
435         dissectors/packet-dcerpc-rdaclif.c
436         dissectors/packet-dcerpc-rep_proc.c
437         dissectors/packet-dcerpc-roverride.c
438         dissectors/packet-dcerpc-rpriv.c
439         dissectors/packet-dcerpc-rras.c
440         dissectors/packet-dcerpc-rs_acct.c
441         dissectors/packet-dcerpc-rs_attr.c
442         dissectors/packet-dcerpc-rs_attr_schema.c
443         dissectors/packet-dcerpc-rs_bind.c
444         dissectors/packet-dcerpc-rs_misc.c
445         dissectors/packet-dcerpc-rs_pgo.c
446         dissectors/packet-dcerpc-rs_plcy.c
447         dissectors/packet-dcerpc-rs_prop_acct.c
448         dissectors/packet-dcerpc-rs_prop_acl.c
449         dissectors/packet-dcerpc-rs_prop_attr.c
450         dissectors/packet-dcerpc-rs_prop_pgo.c
451         dissectors/packet-dcerpc-rs_prop_plcy.c
452         dissectors/packet-dcerpc-rs_pwd_mgmt.c
453         dissectors/packet-dcerpc-rs_repadm.c
454         dissectors/packet-dcerpc-rs_replist.c
455         dissectors/packet-dcerpc-rs_repmgr.c
456         dissectors/packet-dcerpc-rs_unix.c
457         dissectors/packet-dcerpc-rsec_login.c
458         dissectors/packet-dcerpc-samr.c
459         dissectors/packet-dcerpc-secidmap.c
460         dissectors/packet-dcerpc-spoolss.c
461         dissectors/packet-dcerpc-svcctl.c
462         dissectors/packet-dcerpc-tapi.c
463         dissectors/packet-dcerpc-tkn4int.c
464         dissectors/packet-dcerpc-trksvr.c
465         dissectors/packet-dcerpc-ubikdisk.c
466         dissectors/packet-dcerpc-ubikvote.c
467         dissectors/packet-dcerpc-update.c
468         dissectors/packet-dcerpc.c
469         dissectors/packet-dcm.c
470         dissectors/packet-dcom.c
471         dissectors/packet-dcom-dispatch.c
472         dissectors/packet-dcom-oxid.c
473         dissectors/packet-dcom-remact.c
474         dissectors/packet-dcom-remunkn.c
475         dissectors/packet-dcom-sysact.c
476         dissectors/packet-dcp-etsi.c
477         dissectors/packet-ddtp.c
478         dissectors/packet-dec-bpdu.c
479         dissectors/packet-dec-dnart.c
480         dissectors/packet-dect.c
481         dissectors/packet-dhcp-failover.c
482         dissectors/packet-dhcpv6.c
483         dissectors/packet-diameter.c
484         dissectors/packet-diameter_3gpp.c
485         dissectors/packet-dis.c
486         dissectors/packet-dis-enums.c
487         dissectors/packet-dis-fields.c
488         dissectors/packet-dis-pdus.c
489         dissectors/packet-diffserv-mpls-common.c
490         dissectors/packet-distcc.c
491         dissectors/packet-dlm3.c
492         dissectors/packet-dlsw.c
493         dissectors/packet-dmp.c
494         dissectors/packet-dnp.c
495         dissectors/packet-dns.c
496         dissectors/packet-dplay.c
497         dissectors/packet-dpnss.c
498         dissectors/packet-dpnss-link.c
499         dissectors/packet-drda.c
500         dissectors/packet-dsi.c
501         dissectors/packet-dtls.c
502         dissectors/packet-dtn.c
503         dissectors/packet-dtp.c
504         dissectors/packet-dtpt.c
505         dissectors/packet-dua.c
506         dissectors/packet-dvmrp.c
507         dissectors/packet-e100.c
508         dissectors/packet-e164.c
509         dissectors/packet-e212.c
510         dissectors/packet-eap.c
511         dissectors/packet-eapol.c
512         dissectors/packet-echo.c
513         dissectors/packet-edonkey.c
514         dissectors/packet-egd.c
515         dissectors/packet-ehs.c
516         dissectors/packet-eigrp.c
517         dissectors/packet-enc.c
518         dissectors/packet-enip.c
519         dissectors/packet-enrp.c
520         dissectors/packet-enttec.c
521         dissectors/packet-epl.c
522         dissectors/packet-epl_v1.c
523         dissectors/packet-epmd.c
524         dissectors/packet-erf.c
525         dissectors/packet-esis.c
526         dissectors/packet-eth.c
527         dissectors/packet-etherip.c
528         dissectors/packet-ethertype.c
529         dissectors/packet-evrc.c
530         dissectors/packet-exec.c
531         dissectors/packet-extreme.c
532         dissectors/packet-fc.c
533         dissectors/packet-fcct.c
534         dissectors/packet-fcdns.c
535         dissectors/packet-fcels.c
536         dissectors/packet-fcfcs.c
537         dissectors/packet-fcfzs.c
538         dissectors/packet-fcip.c
539         dissectors/packet-fclctl.c
540         dissectors/packet-fcoe.c
541         dissectors/packet-fcp.c
542         dissectors/packet-fcsb3.c
543         dissectors/packet-fcsp.c
544         dissectors/packet-fcswils.c
545         dissectors/packet-fddi.c
546         dissectors/packet-fefd.c
547         dissectors/packet-ff.c
548         dissectors/packet-fip.c
549         dissectors/packet-fix.c
550         dissectors/packet-flip.c
551         dissectors/packet-fmp.c
552         dissectors/packet-fmp_notify.c
553         dissectors/packet-force10-oui.c
554         dissectors/packet-fr.c
555         dissectors/packet-fp_hint.c  
556         dissectors/packet-fractalgeneratorprotocol.c
557         dissectors/packet-frame.c
558         dissectors/packet-ftp.c
559         dissectors/packet-fw1.c
560         dissectors/packet-g723.c
561         dissectors/packet-gdsdb.c
562         dissectors/packet-gift.c
563         dissectors/packet-giop.c
564         dissectors/packet-glbp.c
565         dissectors/packet-gmrp.c
566         dissectors/packet-gnutella.c
567         dissectors/packet-gpef.c
568         dissectors/packet-gprs-llc.c
569         dissectors/packet-gprs-ns.c
570         dissectors/packet-gre.c
571         dissectors/packet-gsm_a_bssmap.c
572         dissectors/packet-gsm_a_common.c
573         dissectors/packet-gsm_a_dtap.c
574         dissectors/packet-gsm_a_gm.c
575         dissectors/packet-gsm_a_rp.c
576         dissectors/packet-gsm_a_rr.c
577         dissectors/packet-gsm_ipa.c
578         dissectors/packet-gsm_bsslap.c
579         dissectors/packet-gsm_bssmap_le.c
580         dissectors/packet-gsm_sms.c
581         dissectors/packet-gsm_sms_ud.c
582         dissectors/packet-gsm_um.c
583         dissectors/packet-gssapi.c
584         dissectors/packet-gtp.c
585         dissectors/packet-gtpv2.c
586         dissectors/packet-gvrp.c
587         dissectors/packet-h1.c
588         dissectors/packet-h221_nonstd.c
589         dissectors/packet-h223.c
590         dissectors/packet-h248_annex_c.c
591         dissectors/packet-h248_annex_e.c
592         dissectors/packet-h248_3gpp.c
593         dissectors/packet-h248_7.c
594         dissectors/packet-h248_10.c
595         dissectors/packet-h248_q1950.c
596         dissectors/packet-h261.c
597         dissectors/packet-h263.c
598         dissectors/packet-h263p.c
599         dissectors/packet-h264.c
600         dissectors/packet-hci_h1.c
601         dissectors/packet-hci_h4.c
602         dissectors/packet-hclnfsd.c
603         dissectors/packet-hilscher.c
604         dissectors/packet-hip.c
605         dissectors/packet-homeplug.c
606         dissectors/packet-hp-erm.c
607         dissectors/packet-hpext.c
608         dissectors/packet-hpsw.c
609         dissectors/packet-hpteam.c
610         dissectors/packet-hsrp.c
611         dissectors/packet-http.c
612         dissectors/packet-hyperscsi.c
613         dissectors/packet-i2c.c
614         dissectors/packet-iana-oui.c
615         dissectors/packet-iapp.c
616         dissectors/packet-iax2.c
617         dissectors/packet-icap.c
618         dissectors/packet-icep.c
619         dissectors/packet-icmp.c
620         dissectors/packet-icmpv6.c
621         dissectors/packet-icp.c
622         dissectors/packet-icq.c
623         dissectors/packet-idp.c
624         dissectors/packet-iec104.c
625         dissectors/packet-ieee80211.c
626         dissectors/packet-ieee802154.c
627         dissectors/packet-ieee8021ah.c
628         dissectors/packet-ieee8023.c
629         dissectors/packet-ieee802a.c
630         dissectors/packet-ifcp.c
631         dissectors/packet-igap.c
632         dissectors/packet-igmp.c
633         dissectors/packet-igrp.c
634         dissectors/packet-image-gif.c
635         dissectors/packet-image-jfif.c
636         dissectors/packet-image-png.c
637         dissectors/packet-imap.c
638         dissectors/packet-imf.c
639         dissectors/packet-infiniband.c
640         dissectors/packet-ipars.c
641         dissectors/packet-ip.c
642         dissectors/packet-ipdc.c
643         dissectors/packet-ipfc.c
644         dissectors/packet-ipmi.c
645         dissectors/packet-ipmi-session.c
646         dissectors/packet-ipnet.c
647         dissectors/packet-ipp.c
648         dissectors/packet-ipsec.c
649         dissectors/packet-ipsec-tcp.c
650         dissectors/packet-ipsec-udp.c
651         dissectors/packet-ipsi-ctl.c
652         dissectors/packet-ipv6.c
653         dissectors/packet-ipvs-syncd.c
654         dissectors/packet-ipx.c
655         dissectors/packet-ipxwan.c
656         dissectors/packet-irc.c
657         dissectors/packet-isakmp.c
658         dissectors/packet-iscsi.c
659         dissectors/packet-isdn.c
660         dissectors/packet-isis-clv.c
661         dissectors/packet-isis-hello.c
662         dissectors/packet-isis-lsp.c
663         dissectors/packet-isis-snp.c
664         dissectors/packet-isis.c
665         dissectors/packet-isl.c
666         dissectors/packet-ismacryp.c
667         dissectors/packet-ismp.c
668         dissectors/packet-isns.c
669         dissectors/packet-isup.c
670         dissectors/packet-itdm.c
671         dissectors/packet-iua.c
672         dissectors/packet-iuup.c
673         dissectors/packet-iwarp-ddp-rdmap.c
674         dissectors/packet-iwarp-mpa.c
675         dissectors/packet-jabber.c
676         dissectors/packet-jmirror.c
677         dissectors/packet-jpeg.c
678         dissectors/packet-juniper.c
679         dissectors/packet-jxta.c
680         dissectors/packet-k12.c
681         dissectors/packet-kadm5.c
682         dissectors/packet-kdp.c
683         dissectors/packet-kerberos.c
684         dissectors/packet-kerberos4.c
685         dissectors/packet-klm.c
686         dissectors/packet-kingfisher.c
687         dissectors/packet-kink.c
688         dissectors/packet-kismet.c
689         dissectors/packet-kpasswd.c
690         dissectors/packet-l2tp.c
691         dissectors/packet-lanforge.c
692         dissectors/packet-lapb.c
693         dissectors/packet-lapbether.c
694         dissectors/packet-lapd.c
695         dissectors/packet-lapdm.c
696         dissectors/packet-laplink.c
697         dissectors/packet-l1-events.c
698         dissectors/packet-ldp.c
699         dissectors/packet-ldss.c
700         dissectors/packet-lge_monitor.c
701         dissectors/packet-linx.c
702         dissectors/packet-llc.c
703         dissectors/packet-lldp.c
704         dissectors/packet-llt.c
705         dissectors/packet-lmi.c
706         dissectors/packet-lmp.c
707         dissectors/packet-loop.c
708         dissectors/packet-lpd.c
709         dissectors/packet-lsc.c
710         dissectors/packet-ltp.c
711         dissectors/packet-lwapp.c
712         dissectors/packet-lwres.c
713         dissectors/packet-m2pa.c
714         dissectors/packet-m2tp.c
715         dissectors/packet-m2ua.c
716         dissectors/packet-m3ua.c
717         dissectors/packet-mac-lte.c
718         dissectors/packet-maccontrol.c
719         dissectors/packet-manolito.c
720         dissectors/packet-mbtcp.c
721         dissectors/packet-mdshdr.c
722         dissectors/packet-media.c
723         dissectors/packet-megaco.c
724         dissectors/packet-memcache.c
725         dissectors/packet-mesh.c
726         dissectors/packet-meta.c
727         dissectors/packet-mgcp.c
728         dissectors/packet-mikey.c
729         dissectors/packet-miop.c
730         dissectors/packet-mip.c
731         dissectors/packet-mip6.c
732         dissectors/packet-ms-mms.c
733         dissectors/packet-mmse.c
734         dissectors/packet-mount.c
735         dissectors/packet-mp2t.c
736         dissectors/packet-mp4ves.c
737         dissectors/packet-mpeg1.c
738         dissectors/packet-mpls.c
739         dissectors/packet-mpls-echo.c
740         dissectors/packet-mq.c
741         dissectors/packet-mq-pcf.c
742         dissectors/packet-mrdisc.c
743         dissectors/packet-msdp.c
744         dissectors/packet-msnlb.c
745         dissectors/packet-msn-messenger.c
746         dissectors/packet-msnip.c
747         dissectors/packet-msproxy.c
748         dissectors/packet-msrp.c
749         dissectors/packet-mstp.c
750         dissectors/packet-mtp2.c
751         dissectors/packet-mtp3.c
752         dissectors/packet-mtp3mg.c
753         dissectors/packet-multipart.c
754         dissectors/packet-mysql.c
755         dissectors/packet-nas_eps.c
756         dissectors/packet-nasdaq-itch.c
757         dissectors/packet-nat-pmp.c
758         dissectors/packet-nb_rtpmux.c
759         dissectors/packet-nbd.c
760         dissectors/packet-nbipx.c
761         dissectors/packet-nbns.c
762         dissectors/packet-ncp.c
763         packet-ncp2222.c
764         dissectors/packet-ncp-nmas.c
765         dissectors/packet-ncp-sss.c
766         dissectors/packet-ncs.c
767         dissectors/packet-ndmp.c
768         dissectors/packet-ndps.c
769         dissectors/packet-netbios.c
770         dissectors/packet-netdump.c
771         dissectors/packet-netflow.c
772         dissectors/packet-netperfmeter.c
773         dissectors/packet-netsync.c
774         dissectors/packet-nettl.c
775         dissectors/packet-newmail.c
776         dissectors/packet-nfs.c
777         dissectors/packet-nfsacl.c
778         dissectors/packet-nfsauth.c
779         dissectors/packet-nhrp.c
780         dissectors/packet-nisplus.c
781         dissectors/packet-nlm.c
782         dissectors/packet-nlsp.c
783         dissectors/packet-nntp.c
784         dissectors/packet-nstrace.c
785         dissectors/packet-nsip.c
786         dissectors/packet-nsrp.c
787         dissectors/packet-nt-oui.c
788         dissectors/packet-nt-sonmp.c
789         dissectors/packet-nt-tpcp.c
790         dissectors/packet-ntlmssp.c
791         dissectors/packet-ntp.c
792         dissectors/packet-null.c
793         dissectors/packet-oicq.c
794         dissectors/packet-olsr.c
795         dissectors/packet-omapi.c
796         dissectors/packet-omron-fins.c
797         dissectors/packet-osi-options.c
798         dissectors/packet-osi.c
799         dissectors/packet-ositp.c
800         dissectors/packet-ospf.c
801         dissectors/packet-p_mul.c
802         dissectors/packet-packetbb.c
803         dissectors/packet-packetlogger.c
804         dissectors/packet-pagp.c
805         dissectors/packet-paltalk.c
806         dissectors/packet-pana.c
807         dissectors/packet-pcep.c
808         dissectors/packet-pcli.c
809         dissectors/packet-pcnfsd.c
810         dissectors/packet-pdcp-lte.c
811         dissectors/packet-per.c
812         dissectors/packet-pflog.c
813         dissectors/packet-pgm.c
814         dissectors/packet-pim.c
815         dissectors/packet-pingpongprotocol.c
816         dissectors/packet-pktgen.c
817         dissectors/packet-pktc.c
818         dissectors/packet-pnrp.c
819         dissectors/packet-pop.c
820         dissectors/packet-portmap.c
821         dissectors/packet-pgsql.c
822         dissectors/packet-ppi.c
823         dissectors/packet-ppp.c
824         dissectors/packet-pppoe.c
825         dissectors/packet-pptp.c
826         dissectors/packet-prp.c
827         dissectors/packet-ptp.c
828         dissectors/packet-pvfs2.c
829         dissectors/packet-pw-common.c
830         dissectors/packet-pw-eth.c
831         dissectors/packet-pw-hdlc.c
832         dissectors/packet-pw-fr.c
833         dissectors/packet-pw-atm.c
834         dissectors/packet-pw-cesopsn.c
835         dissectors/packet-pw-satop.c
836         dissectors/packet-q2931.c
837         dissectors/packet-q931.c
838         dissectors/packet-q933.c
839         dissectors/packet-qllc.c
840         dissectors/packet-quake.c
841         dissectors/packet-quake2.c
842         dissectors/packet-quake3.c
843         dissectors/packet-quakeworld.c
844         dissectors/packet-radius.c
845         dissectors/packet-radius_packetcable.c
846         dissectors/packet-radiotap.c
847         dissectors/packet-raw.c
848         dissectors/packet-rdm.c
849         dissectors/packet-rdt.c
850         dissectors/packet-redback.c
851         dissectors/packet-redbackli.c
852         dissectors/packet-retix-bpdu.c
853         dissectors/packet-rfc2190.c
854         dissectors/packet-rgmp.c
855         dissectors/packet-rip.c
856         dissectors/packet-ripng.c
857         dissectors/packet-rlc.c
858         dissectors/packet-rlc-lte.c
859         dissectors/packet-rlm.c
860         dissectors/packet-rlogin.c
861         dissectors/packet-rmcp.c
862         dissectors/packet-rmi.c
863         dissectors/packet-rmp.c
864         dissectors/packet-rmt-alc.c
865         dissectors/packet-rmt-common.c
866         dissectors/packet-rmt-fec.c
867         dissectors/packet-rmt-lct.c
868         dissectors/packet-rmt-norm.c
869         dissectors/packet-roofnet.c
870         dissectors/packet-rpc.c
871         dissectors/packet-rpcap.c
872         dissectors/packet-rpl.c
873         dissectors/packet-rquota.c
874         dissectors/packet-rsh.c
875         dissectors/packet-rsl.c
876         dissectors/packet-rstat.c
877         dissectors/packet-rsvp.c
878         dissectors/packet-rsync.c
879         dissectors/packet-rtcp.c
880         dissectors/packet-rtmpt.c
881         dissectors/packet-rtp-events.c
882         dissectors/packet-rtp.c
883         dissectors/packet-rtps.c
884         dissectors/packet-rtps2.c
885         dissectors/packet-rtsp.c
886         dissectors/packet-rudp.c
887         dissectors/packet-rwall.c
888         dissectors/packet-rx.c
889         dissectors/packet-s5066.c
890         dissectors/packet-sadmind.c
891         dissectors/packet-sap.c
892         dissectors/packet-sbus.c
893         dissectors/packet-sccp.c
894         dissectors/packet-sccpmg.c
895         dissectors/packet-scsi.c
896         dissectors/packet-scsi-mmc.c
897         dissectors/packet-scsi-osd.c
898         dissectors/packet-scsi-sbc.c
899         dissectors/packet-scsi-smc.c
900         dissectors/packet-scsi-ssc.c
901         dissectors/packet-sctp.c
902         dissectors/packet-sdlc.c
903         dissectors/packet-sdp.c
904         dissectors/packet-sebek.c
905         dissectors/packet-ses.c
906         dissectors/packet-sflow.c
907         dissectors/packet-simulcrypt.c
908         dissectors/packet-sip.c
909         dissectors/packet-sigcomp.c
910         dissectors/packet-sipfrag.c
911         dissectors/packet-sita.c
912         dissectors/packet-skinny.c
913         dissectors/packet-slimp3.c
914         dissectors/packet-sll.c
915         dissectors/packet-slowprotocols.c
916         dissectors/packet-slsk.c
917         dissectors/packet-smb-browse.c
918         dissectors/packet-smb-common.c
919         dissectors/packet-smb-logon.c
920         dissectors/packet-smb-mailslot.c
921         dissectors/packet-smb-pipe.c
922         dissectors/packet-smb-sidsnooping.c
923         dissectors/packet-smb.c
924         dissectors/packet-smb2.c
925         dissectors/packet-smpp.c
926         dissectors/packet-smtp.c
927         dissectors/packet-sna.c
928         dissectors/packet-snaeth.c
929         dissectors/packet-sndcp.c
930         dissectors/packet-sndcp-xid.c
931         dissectors/packet-socks.c
932         dissectors/packet-socketcan.c
933         dissectors/packet-nasdaq-soup.c
934         dissectors/packet-spp.c
935         dissectors/packet-spray.c
936         dissectors/packet-srp.c
937         dissectors/packet-sscf-nni.c
938         dissectors/packet-srvloc.c
939         dissectors/packet-sscop.c
940         dissectors/packet-scriptingservice.c
941         dissectors/packet-ssh.c
942         dissectors/packet-ssl.c
943         dissectors/packet-ssl-utils.c
944         dissectors/packet-starteam.c
945         dissectors/packet-stat-notify.c
946         dissectors/packet-stat.c
947         dissectors/packet-stun.c
948         dissectors/packet-sua.c
949         dissectors/packet-symantec.c
950         dissectors/packet-synergy.c
951         dissectors/packet-synphasor.c
952         dissectors/packet-syslog.c
953         dissectors/packet-t30.c
954         dissectors/packet-t38.c
955         dissectors/packet-tacacs.c
956         dissectors/packet-tali.c
957         dissectors/packet-tapa.c
958         dissectors/packet-tcp.c
959         dissectors/packet-tds.c
960         dissectors/packet-teamspeak2.c
961         dissectors/packet-teimanagement.c
962         dissectors/packet-telnet.c
963         dissectors/packet-teredo.c
964         dissectors/packet-text-media.c
965         dissectors/packet-telkonet.c
966         dissectors/packet-tftp.c
967         dissectors/packet-time.c
968         dissectors/packet-tipc.c
969         dissectors/packet-tivoconnect.c
970         dissectors/packet-tnef.c
971         dissectors/packet-tns.c
972         dissectors/packet-tn3270.c
973         dissectors/packet-tpkt.c
974         dissectors/packet-tpncp.c
975         dissectors/packet-tr.c
976         dissectors/packet-trmac.c
977         dissectors/packet-tsp.c
978         dissectors/packet-tte.c
979         dissectors/packet-tte-pcf.c
980         dissectors/packet-turbocell.c
981         dissectors/packet-turnchannel.c
982         dissectors/packet-tuxedo.c
983         dissectors/packet-tzsp.c
984         dissectors/packet-ucp.c
985         dissectors/packet-udld.c
986         dissectors/packet-uma.c
987         dissectors/packet-udp.c
988         dissectors/packet-usb.c
989         dissectors/packet-usb-masstorage.c
990         dissectors/packet-usb-hid.c
991         dissectors/packet-usb-hub.c
992         dissectors/packet-umts_fp.c
993         dissectors/packet-umts_mac.c
994         dissectors/packet-user_encap.c
995         dissectors/packet-uts.c
996         dissectors/packet-v120.c
997         dissectors/packet-v5ua.c
998         dissectors/packet-v52.c
999         dissectors/packet-vcdu.c
1000         dissectors/packet-vicp.c
1001         dissectors/packet-vines.c
1002         dissectors/packet-vj.c
1003         dissectors/packet-vlan.c
1004         dissectors/packet-vnc.c
1005         dissectors/packet-vrrp.c
1006         dissectors/packet-vtp.c
1007         dissectors/packet-wap.c
1008         dissectors/packet-wassp.c
1009         dissectors/packet-wbxml.c
1010         dissectors/packet-wccp.c
1011         dissectors/packet-wcp.c
1012         dissectors/packet-wfleet-hdlc.c
1013         dissectors/packet-who.c
1014         dissectors/packet-windows-common.c
1015         dissectors/packet-winsrepl.c
1016         dissectors/packet-wlccp.c
1017         dissectors/packet-wol.c
1018         dissectors/packet-wow.c
1019         dissectors/packet-wps.c
1020         dissectors/packet-wsmp.c
1021         dissectors/packet-wsp.c
1022         dissectors/packet-wtls.c
1023         dissectors/packet-wtp.c
1024         dissectors/packet-x11.c
1025         dissectors/packet-x25.c
1026         dissectors/packet-x29.c
1027         dissectors/packet-xcsl.c
1028         dissectors/packet-xdmcp.c
1029         dissectors/packet-xml.c
1030         dissectors/packet-xot.c
1031         dissectors/packet-xtp.c
1032         dissectors/packet-xyplex.c
1033         dissectors/packet-yhoo.c
1034         dissectors/packet-ymsg.c
1035         dissectors/packet-ypbind.c
1036         dissectors/packet-yppasswd.c
1037         dissectors/packet-ypserv.c
1038         dissectors/packet-ypxfr.c
1039         dissectors/packet-zbee-aps.c
1040         dissectors/packet-zbee-security.c
1041         dissectors/packet-zbee-nwk.c
1042         dissectors/packet-zbee-zcl.c
1043         dissectors/packet-zbee-zdp.c
1044         dissectors/packet-zbee-zdp-binding.c
1045         dissectors/packet-zbee-zdp-discovery.c
1046         dissectors/packet-zbee-zdp-management.c
1047         dissectors/packet-zebra.c
1048         dissectors/packet-zep.c
1049         dissectors/packet-ziop.c
1050         dissectors/packet-zrtp.c
1051 )
1052
1053 # IPMI sub-parsers for each network function code
1054 set(IPMI_SUBPARSERS
1055         dissectors/packet-ipmi-app.c
1056         dissectors/packet-ipmi-bridge.c
1057         dissectors/packet-ipmi-chassis.c
1058         dissectors/packet-ipmi-picmg.c
1059         dissectors/packet-ipmi-se.c
1060         dissectors/packet-ipmi-storage.c
1061         dissectors/packet-ipmi-transport.c
1062         dissectors/packet-ipmi-pps.c
1063         dissectors/packet-ipmi-update.c
1064 )
1065
1066 set(DISSECTOR_SUPPORT_SRC
1067         ${IPMI_SUBPARSERS}
1068         dissectors/packet-dcerpc-nt.c
1069         register.c
1070 )
1071
1072 set(LIBWIRESHARK_ASM_FILES
1073         asm_utils.c
1074 # todo
1075 #       !IFDEF NASM
1076 #       asm_utils_win32_x86.obj: asm_utils_win32_x86.asm
1077 #               $(NASM) -f $(WIRESHARK_TARGET_PLATFORM) -o $@ $?
1078 #       !ENDIF
1079 #       ...
1080 #       !IF defined(NASM) && "$(WIRESHARK_TARGET_PLATFORM)" == "win32"
1081 #               asm_utils_win32_x86.obj
1082 #       !ELSE
1083 #               asm_utils.obj
1084 #       !ENDIF
1085 )
1086
1087 set(DISSECTOR_FILES
1088         ${DISSECTOR_SRC}
1089         ${PIDL_DISSECTOR_SRC}
1090         ${PIDL_DISSECTOR_AUTOGEN_SRC}
1091         ${DIRTY_PIDL_DISSECTOR_SRC}
1092         ${ASN1_DISSECTOR_SRC}
1093         ${DIRTY_ASN1_DISSECTOR_SRC}
1094 )
1095
1096 register_dissector_files(register.c
1097         dissectors
1098         ${DISSECTOR_FILES}
1099 )
1100
1101 set(FTYPE_FILES
1102         ftypes/ftypes.c
1103         ftypes/ftype-bytes.c
1104         ftypes/ftype-double.c
1105         ftypes/ftype-integer.c
1106         ftypes/ftype-ipv4.c
1107         ftypes/ftype-guid.c
1108         ftypes/ftype-none.c
1109         ftypes/ftype-pcre.c
1110         ftypes/ftype-string.c
1111         ftypes/ftype-time.c
1112         ftypes/ftype-tvbuff.c
1113 )
1114
1115 ADD_CUSTOM_COMMAND(
1116     OUTPUT
1117       sminmpec.c
1118     COMMAND ${PERL_EXECUTABLE}
1119       ${CMAKE_SOURCE_DIR}/tools/make-sminmpec.pl
1120       ${CMAKE_CURRENT_SOURCE_DIR}/enterprise-numbers
1121       sminmpec.c
1122     DEPENDS
1123       enterprise-numbers
1124       ${CMAKE_SOURCE_DIR}/tools/make-sminmpec.pl
1125 )
1126
1127 set(LIBWIRESHARK_FILES
1128         addr_and_mask.c
1129         addr_resolv.c
1130         adler32.c
1131         afn.c
1132         asn1.c
1133         atalk-utils.c
1134         base64.c
1135         bitswap.c
1136         camel-persistentdata.c
1137         charsets.c
1138         circuit.c
1139         codecs.c
1140         column.c
1141         column-utils.c
1142         conversation.c
1143         crc10.c
1144         crc16.c
1145         crc32.c
1146         crc6.c
1147         crcdrm.c
1148         dissector_filters.c
1149         emem.c
1150         epan.c
1151         ex-opt.c
1152         except.c
1153         expert.c
1154         filesystem.c
1155         follow.c
1156         frame_data.c
1157         frequency-utils.c
1158         funnel.c
1159         gcp.c
1160         geoip_db.c
1161         golay.c
1162         guid-utils.c
1163         h225-persistentdata.c
1164         in_cksum.c
1165         ipproto.c
1166         ipv4.c
1167         next_tvb.c
1168         nstime.c
1169         oids.c
1170         osi-utils.c
1171         packet.c
1172         plugins.c
1173         prefs.c
1174         proto.c
1175         range.c
1176         reassemble.c
1177         reedsolomon.c
1178         report_err.c
1179         req_resp_hdrs.c
1180         sigcomp_state_hdlr.c
1181         sigcomp-udvm.c
1182         sminmpec.c
1183         sna-utils.c
1184         stat_cmd_args.c
1185         stats_tree.c
1186         strutil.c
1187         stream.c
1188         t35.c
1189         tap.c
1190         tcap-persistentdata.c
1191         timestamp.c
1192         tfs.c
1193         to_str.c
1194         tvbparse.c
1195         tvbuff.c
1196         uat.c
1197         value_string.c
1198         xdlc.c
1199 )
1200
1201 set(LIBWIRESHARK_CLEAN_FILES
1202         ${LIBWIRESHARK_FILES}
1203 )
1204
1205 add_lex_files(LIBWIRESHARK_FILES
1206         diam_dict.l
1207         dtd_parse.l
1208         dtd_preparse.l
1209         radius_dict.l
1210         uat_load.l
1211 )
1212
1213 add_lemon_files(LIBWIRESHARK_FILES
1214         dtd_grammar.lemon
1215 )
1216
1217 set(epan_LIBS
1218         wiretap
1219         wsutil
1220 #       @INET_ATON_LO@
1221 #       @INET_PTON_LO@
1222 #       @INET_NTOP_LO@
1223 #       @SSL_LIBS@
1224         ${PCRE_LIBRARIES}
1225         ${GLIB2_LIBRARIES}
1226         ${PCAP_LIBRARIES}
1227 #       @SOCKET_LIBS@
1228 #       @NSL_LIBS@
1229         ${CARES_LIBRARIES}
1230         ${ADNS_LIBRARIES}
1231         ${KERBEROS_LIBRARIES}
1232 #       @FRAMEWORKS@
1233         ${GEOIP_LIBRARIES}
1234         ${GCRYPT_LIBRARIES}
1235         ${GNUTLS_LIBRARIES}
1236         ${SMI_LIBRARIES}
1237         ${M_LIBRARIES}
1238 )
1239
1240 set(CLEAN_FILES
1241         # Needed to trigger build of the include files for x11
1242         #x11-declarations.h
1243         #x11-register-info.h
1244         ${LIBWIRESHARK_CLEAN_FILES}
1245         ${CRC_FILES}
1246         ${CRYPT_FILES}
1247         ${DFILTER_CLEAN_FILES}
1248         ${FTYPE_FILES}
1249         # ${DISSECTOR_FILES} contains dirty files
1250         ${DISSECTOR_SRC}
1251         ${PIDL_DISSECTOR_SRC}
1252         ${PIDL_DISSECTOR_AUTOGEN_SRC}
1253         ${ASN1_DISSECTOR_SRC}
1254         # ${DISSECTOR_FILES } end
1255         ${DISSECTOR_SUPPORT_SRC}
1256         ${LIBWIRESHARK_ASM_FILES}
1257 )
1258
1259 if (WERROR)
1260         set_source_files_properties(
1261                 ${CLEAN_FILES}
1262                 PROPERTIES
1263                 COMPILE_FLAGS -Werror
1264         )
1265 endif()
1266
1267 add_library(epan ${LINK_MODE_LIB}
1268         # Needed to trigger build of the include files for x11
1269         #x11-declarations.h
1270         #x11-register-info.h
1271         ${LIBWIRESHARK_FILES}
1272         ${CRC_FILES}
1273         ${CRYPT_FILES}
1274         ${DFILTER_FILES}
1275         ${FTYPE_FILES}
1276         ${DISSECTOR_FILES}
1277         ${DISSECTOR_SUPPORT_SRC}
1278         ${LIBWIRESHARK_ASM_FILES}
1279 )
1280
1281 # By default the name for a library with target name epan will be libepan,
1282 # but Ethereal is now named Wireshark
1283 SET_TARGET_PROPERTIES(epan PROPERTIES OUTPUT_NAME "wireshark")
1284
1285 target_link_libraries(epan
1286         ${WSLUA_LIB}
1287         ${WSPYTHON_LIB}
1288 )
1289
1290 target_link_libraries(epan ${epan_LIBS})
1291
1292 add_dependencies(epan lemon)
1293
1294 if(NOT ${ENABLE_STATIC})
1295         install(TARGETS epan
1296                 LIBRARY DESTINATION lib
1297                 RUNTIME DESTINATION lib
1298                 ARCHIVE DESTINATION lib
1299         )
1300 endif()
1301