Transition from GeoIP Legacy to MaxMindDB.
[metze/wireshark/wip.git] / doc / CMakeLists.txt
1 # CMakeLists.txt
2 #
3 # Wireshark - Network traffic analyzer
4 # By Gerald Combs <gerald@wireshark.org>
5 # Copyright 1998 Gerald Combs
6 #
7 # SPDX-License-Identifier: GPL-2.0-or-later
8 #
9
10 add_custom_command(
11         OUTPUT AUTHORS-SHORT
12         COMMAND ${PERL_EXECUTABLE}
13                 ${CMAKE_CURRENT_SOURCE_DIR}/perlnoutf.pl
14                 ${CMAKE_CURRENT_SOURCE_DIR}/make-authors-short.pl
15                 < ${CMAKE_SOURCE_DIR}/AUTHORS
16                 > ${CMAKE_CURRENT_BINARY_DIR}/AUTHORS-SHORT
17         DEPENDS
18                 ${CMAKE_CURRENT_SOURCE_DIR}/perlnoutf.pl
19                 ${CMAKE_CURRENT_SOURCE_DIR}/make-authors-short.pl
20                 ${CMAKE_SOURCE_DIR}/AUTHORS
21 )
22
23 add_custom_command(
24         OUTPUT AUTHORS-SHORT-FORMAT
25         COMMAND ${PERL_EXECUTABLE}
26                 ${CMAKE_CURRENT_SOURCE_DIR}/perlnoutf.pl
27                 ${CMAKE_CURRENT_SOURCE_DIR}/make-authors-format.pl
28                 < ${CMAKE_CURRENT_BINARY_DIR}/AUTHORS-SHORT
29                 > ${CMAKE_CURRENT_BINARY_DIR}/AUTHORS-SHORT-FORMAT
30         DEPENDS
31                 ${CMAKE_CURRENT_SOURCE_DIR}/perlnoutf.pl
32                 ${CMAKE_CURRENT_SOURCE_DIR}/make-authors-format.pl
33                 ${CMAKE_CURRENT_BINARY_DIR}/AUTHORS-SHORT
34 )
35
36 if(WIN32)
37         file(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/wireshark.pod.template WPT_WIN_PATH)
38         file(TO_NATIVE_PATH ${CMAKE_CURRENT_BINARY_DIR}/AUTHORS-SHORT-FORMAT ASF_WIN_PATH)
39         file(TO_NATIVE_PATH ${CMAKE_CURRENT_BINARY_DIR}/wireshark.pod WP_WIN_PATH)
40         add_custom_command(
41                 OUTPUT wireshark.pod
42                 COMMAND copy /B ${WPT_WIN_PATH} + ${ASF_WIN_PATH} ${WP_WIN_PATH}
43                 DEPENDS
44                         ${CMAKE_CURRENT_SOURCE_DIR}/wireshark.pod.template
45                         ${CMAKE_CURRENT_BINARY_DIR}/AUTHORS-SHORT-FORMAT
46         )
47 else()
48         add_custom_command(
49                 OUTPUT wireshark.pod
50                 COMMAND cat
51                         ${CMAKE_CURRENT_SOURCE_DIR}/wireshark.pod.template
52                         ${CMAKE_CURRENT_BINARY_DIR}/AUTHORS-SHORT-FORMAT
53                         > ${CMAKE_CURRENT_BINARY_DIR}/wireshark.pod
54                 DEPENDS
55                         ${CMAKE_CURRENT_SOURCE_DIR}/wireshark.pod.template
56                         ${CMAKE_CURRENT_BINARY_DIR}/AUTHORS-SHORT-FORMAT
57         )
58 endif()
59
60 pod2manhtml(${CMAKE_CURRENT_BINARY_DIR}/wireshark   1)
61
62 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/androiddump 1)
63 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/capinfos    1)
64 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/captype     1)
65 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/ciscodump   1)
66 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/dftest      1)
67 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/dumpcap     1)
68 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/editcap     1)
69 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/mergecap    1)
70 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/randpkt     1)
71 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/randpktdump 1)
72 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/rawshark    1)
73 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/reordercap  1)
74 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/sshdump     1)
75 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/text2pcap   1)
76 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/tshark      1)
77 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/udpdump     1)
78
79 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/extcap           4)
80 pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/wireshark-filter 4)
81
82 if(MAXMINDDB_FOUND)
83         pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/mmdbresolve 1)
84 endif()
85
86 if (BUILD_corbaidl2wrs)
87         pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/idl2wrs     1)
88 endif()
89 if (BUILD_xxx2deb)
90         pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/asn2deb     1)
91         pod2manhtml(${CMAKE_CURRENT_SOURCE_DIR}/idl2deb     1)
92 endif()
93
94 set(MAN1_INSTALL_FILES
95         ${CMAKE_CURRENT_BINARY_DIR}/androiddump.1
96         ${CMAKE_CURRENT_BINARY_DIR}/capinfos.1
97         ${CMAKE_CURRENT_BINARY_DIR}/captype.1
98         ${CMAKE_CURRENT_BINARY_DIR}/ciscodump.1
99         ${CMAKE_CURRENT_BINARY_DIR}/ciscodump.1
100         ${CMAKE_CURRENT_BINARY_DIR}/dftest.1
101         ${CMAKE_CURRENT_BINARY_DIR}/dumpcap.1
102         ${CMAKE_CURRENT_BINARY_DIR}/editcap.1
103         ${CMAKE_CURRENT_BINARY_DIR}/mergecap.1
104         ${CMAKE_CURRENT_BINARY_DIR}/randpkt.1
105         ${CMAKE_CURRENT_BINARY_DIR}/randpktdump.1
106         ${CMAKE_CURRENT_BINARY_DIR}/rawshark.1
107         ${CMAKE_CURRENT_BINARY_DIR}/reordercap.1
108         ${CMAKE_CURRENT_BINARY_DIR}/sshdump.1
109         ${CMAKE_CURRENT_BINARY_DIR}/text2pcap.1
110         ${CMAKE_CURRENT_BINARY_DIR}/tshark.1
111         ${CMAKE_CURRENT_BINARY_DIR}/udpdump.1
112         ${CMAKE_CURRENT_BINARY_DIR}/wireshark.1
113 )
114
115 if(MAXMINDDB_FOUND)
116         list(APPEND MAN1_INSTALL_FILES ${CMAKE_CURRENT_BINARY_DIR}/mmdbresolve.1)
117 endif()
118
119 if (BUILD_corbaidl2wrs)
120         list(APPEND MAN1_INSTALL_FILES ${CMAKE_CURRENT_BINARY_DIR}/idl2wrs.1)
121 endif()
122 if (BUILD_xxx2deb)
123         list(APPEND MAN1_INSTALL_FILES
124                 ${CMAKE_CURRENT_BINARY_DIR}/asn2deb.1
125                 ${CMAKE_CURRENT_BINARY_DIR}/idl2deb.1
126         )
127 endif()
128
129 set(MAN4_INSTALL_FILES
130         ${CMAKE_CURRENT_BINARY_DIR}/extcap.4
131         ${CMAKE_CURRENT_BINARY_DIR}/wireshark-filter.4
132 )
133
134 set(BUNDLE_RESOURCE_SHARE_MAN1_FILES ${MAN1_INSTALL_FILES} PARENT_SCOPE)
135 set(BUNDLE_RESOURCE_SHARE_MAN4_FILES ${MAN4_INSTALL_FILES} PARENT_SCOPE)
136
137 add_custom_target(manpages DEPENDS
138         ${MAN1_INSTALL_FILES}
139         ${MAN4_INSTALL_FILES}
140 )
141
142 set(HTML_INSTALL_FILES
143         ${CMAKE_CURRENT_BINARY_DIR}/androiddump.html
144         ${CMAKE_CURRENT_BINARY_DIR}/capinfos.html
145         ${CMAKE_CURRENT_BINARY_DIR}/captype.html
146         ${CMAKE_CURRENT_BINARY_DIR}/ciscodump.html
147         ${CMAKE_CURRENT_BINARY_DIR}/ciscodump.html
148         ${CMAKE_CURRENT_BINARY_DIR}/dftest.html
149         ${CMAKE_CURRENT_BINARY_DIR}/dumpcap.html
150         ${CMAKE_CURRENT_BINARY_DIR}/editcap.html
151         ${CMAKE_CURRENT_BINARY_DIR}/extcap.html
152         ${CMAKE_CURRENT_BINARY_DIR}/mergecap.html
153         ${CMAKE_CURRENT_BINARY_DIR}/randpkt.html
154         ${CMAKE_CURRENT_BINARY_DIR}/randpktdump.html
155         ${CMAKE_CURRENT_BINARY_DIR}/rawshark.html
156         ${CMAKE_CURRENT_BINARY_DIR}/reordercap.html
157         ${CMAKE_CURRENT_BINARY_DIR}/sshdump.html
158         ${CMAKE_CURRENT_BINARY_DIR}/text2pcap.html
159         ${CMAKE_CURRENT_BINARY_DIR}/tshark.html
160         ${CMAKE_CURRENT_BINARY_DIR}/udpdump.html
161         ${CMAKE_CURRENT_BINARY_DIR}/wireshark-filter.html
162         ${CMAKE_CURRENT_BINARY_DIR}/wireshark.html
163 )
164
165 if(MAXMINDDB_FOUND)
166         list(APPEND HTML_INSTALL_FILES ${CMAKE_CURRENT_BINARY_DIR}/mmdbresolve.html)
167 endif()
168
169 if (BUILD_corbaidl2wrs)
170         list(APPEND HTML_INSTALL_FILES ${CMAKE_CURRENT_BINARY_DIR}/idl2wrs.html)
171 endif()
172 if (BUILD_xxx2deb)
173         list(APPEND HTML_INSTALL_FILES
174                 ${CMAKE_CURRENT_BINARY_DIR}/asn2deb.html
175                 ${CMAKE_CURRENT_BINARY_DIR}/idl2deb.html
176         )
177 endif()
178
179 add_custom_target(
180         docs ALL
181         DEPENDS
182                 ${CMAKE_CURRENT_BINARY_DIR}/AUTHORS-SHORT
183                 ${CMAKE_CURRENT_BINARY_DIR}/AUTHORS-SHORT-FORMAT
184                 ${MAN1_INSTALL_FILES}
185                 ${MAN4_INSTALL_FILES}
186                 ${HTML_INSTALL_FILES}
187 )
188 set_target_properties(docs PROPERTIES FOLDER "Docs")
189
190 install(
191         FILES
192                 ${MAN1_INSTALL_FILES}
193         DESTINATION
194                 ${CMAKE_INSTALL_MANDIR}/man1
195 )
196
197 install(
198         FILES
199                 ${MAN4_INSTALL_FILES}
200         DESTINATION
201                 ${CMAKE_INSTALL_MANDIR}/man4
202 )
203
204 install(
205         FILES
206                 ${HTML_INSTALL_FILES}
207         DESTINATION
208                 ${CMAKE_INSTALL_DATADIR}/${CPACK_PACKAGE_NAME}
209 )
210
211 #
212 # Editor modelines  -  http://www.wireshark.org/tools/modelines.html
213 #
214 # Local variables:
215 # c-basic-offset: 8
216 # tab-width: 8
217 # indent-tabs-mode: t
218 # End:
219 #
220 # vi: set shiftwidth=8 tabstop=8 noexpandtab:
221 # :indentSize=8:tabSize=8:noTabs=false:
222 #