Add deleted HTTP digest functions to ChangeLog.API.
[pidgin-git.git] / pidgin / meson.build
blob6f2282b8cbe2536fc56a6785c8b2ec663da3f342
1 libpidgin_SOURCES = [
2         'pidginstock.c',
3         'gtkaccount.c',
4         'gtkblist.c',
5         'gtkblist-theme.c',
6         'gtkblist-theme-loader.c',
7         'gtkcellrendererexpander.c',
8         'gtkconn.c',
9         'gtkconv.c',
10         'gtkdialogs.c',
11         'gtkdnd-hints.c',
12         'gtkdocklet.c',
13         'gtkicon-theme.c',
14         'gtkicon-theme-loader.c',
15         'gtkidle.c',
16         'gtkmedia.c',
17         'gtkmenutray.c',
18         'gtknotify.c',
19         'gtkplugin.c',
20         'gtkpluginpref.c',
21         'gtkpounce.c',
22         'gtkprefs.c',
23         'gtkprivacy.c',
24         'gtkrequest.c',
25         'gtkroomlist.c',
26         'gtksavedstatuses.c',
27         'gtkscrollbook.c',
28         'gtksmiley-manager.c',
29         'gtksmiley-theme.c',
30         'gtksound.c',
31         'gtkstatus-icon-theme.c',
32         'gtkstatusbox.c',
33         'gtkstyle.c',
34         'gtkutils.c',
35         'gtkwhiteboard.c',
36         'gtkxfer.c',
37         'libpidgin.c',
38         'minidialog.c',
39         'pidginabout.c',
40         'pidginaccountchooser.c',
41         'pidgincontactcompletion.c',
42         'pidgindebug.c',
43         'pidgindebugplugininfo.c',
44         'pidgingdkpixbuf.c',
45         'pidgininvitedialog.c',
46         'pidginlog.c',
47         'pidginmessage.c',
48         'pidgintalkatu.c',
49         'pidgintooltip.c',
52 libpidgin_headers = [
53         'gtkaccount.h',
54         'gtkblist.h',
55         'gtkblist-theme.h',
56         'gtkblist-theme-loader.h',
57         'gtkcellrendererexpander.h',
58         'gtkconn.h',
59         'gtkconv.h',
60         'gtkconvwin.h',
61         'gtkdialogs.h',
62         'gtkdnd-hints.h',
63         'gtkdocklet.h',
64         'gtkicon-theme.h',
65         'gtkicon-theme-loader.h',
66         'gtkidle.h',
67         'gtkmedia.h',
68         'gtkmenutray.h',
69         'gtknickcolors.h',
70         'gtknotify.h',
71         'gtkplugin.h',
72         'gtkpluginpref.h',
73         'gtkprefs.h',
74         'gtkprivacy.h',
75         'gtkpounce.h',
76         'gtkrequest.h',
77         'gtkroomlist.h',
78         'gtksavedstatuses.h',
79         'gtkscrollbook.h',
80         'gtksmiley-manager.h',
81         'gtksmiley-theme.h',
82         'gtksound.h',
83         'gtkstatus-icon-theme.h',
84         'gtkstatusbox.h',
85         'gtkstyle.h',
86         'pidginstock.h',
87         'gtkutils.h',
88         'gtkwhiteboard.h',
89         'gtkxfer.h',
90         'minidialog.h',
91         'pidginabout.h',
92         'pidginaccountchooser.h',
93         'pidgincontactcompletion.h',
94         'pidgindebug.h',
95         'pidgindebugplugininfo.h',
96         'pidgingdkpixbuf.h',
97         'pidginicon.h',
98         'pidgininvitedialog.h',
99         'pidginlog.h',
100         'pidginmessage.h',
101         'pidgintalkatu.h',
102         'pidgintooltip.h',
103         'pidgin.h',
106 pidgin_SOURCES = [
107         'pidgin.c'
110 pidgin_resource = gnome.compile_resources('pidginresources',
111     'resources/pidgin.gresource.xml',
112     source_dir : 'resources',
113     c_name : 'pidgin')
114 libpidgin_SOURCES += pidgin_resource
116 if IS_WIN32
117         libpidgin_SOURCES += [
118                 'pidgin.c',
119                 'win32/gtkwin32dep.c',
120                 'win32/untar.c'
121         ]
123         # Files that looks like obsolete (were used in Pidgin2):
124         #       win32/gtkdocklet-win32.c
125         #       win32/MinimizeToTray.c
126         #       win32/MinimizeToTray.h
128         pidgin_exe_rc = configure_file(
129             input : 'win32/pidgin_exe_rc.rc.in',
130             output : 'pidgin_exe_rc.rc',
131             configuration : version_conf)
132         pidgin_SOURCES = [
133             'win32/winpidgin.c',
134             windows.compile_resources(pidgin_exe_rc,
135                 include_directories : include_directories('win32')
136             )
137         ]
139         libpidgin_headers += [
140                 'win32/gtkwin32dep.h',
141                 'win32/resource.h',
142                 'win32/untar.h'
143         ]
144 endif
146 if ENABLE_GTK
147         if IS_WIN32
148                 pidgin_dll_rc = configure_file(
149                     input : 'win32/pidgin_dll_rc.rc.in',
150                     output : 'pidgin_dll_rc.rc',
151                     configuration : version_conf)
152                 libpidgin_SOURCES += windows.compile_resources(pidgin_dll_rc,
153                     include_directories : include_directories('win32')
154                 )
155         endif
157         install_headers(libpidgin_headers, subdir : 'pidgin-3')
159         libpidgin_inc = include_directories('.')
160         libpidgin = shared_library('pidgin3',
161             libpidgin_SOURCES,
162             package_revision,
163             include_directories : [toplevel_inc],
164             version : PURPLE_LIB_VERSION,
165             dependencies : [
166                 glib,
167                 gstreamer_video,
168                 gtk,
169                 IOKIT,
170                 json,
171                 math,
172                 talkatu_dep,
173                 x11,
174                 libpurple_dep,
175             ],
176             install : true)
177         libpidgin_dep = declare_dependency(
178             include_directories : [toplevel_inc, libpidgin_inc],
179             link_with : libpidgin,
180             dependencies : [gtk, glib, math])
182         pidgin = executable('pidgin3',
183             pidgin_SOURCES,
184             include_directories : toplevel_inc,
185             dependencies : IS_WIN32 ? [] : [libpurple_dep, libpidgin_dep],
186             gui_app : true,
187             install : true)
189         if IS_WIN32
190 #               libpidgin_la_LIBADD += -lwinmm
191 #               pidgin_LDFLAGS += -mwindows
192         endif
194         pkgconfig.generate(
195             name : 'Pidgin',
196             description : 'Pidgin is a GTK3-based instant messenger application.',
197             version : meson.project_version(),
198             filebase : 'pidgin-3',
199             subdirs : 'pidgin-3',
200             libraries : [libpidgin],
201             requires : ['gtk+-3.0', 'purple-3', 'talkatu'],
202             variables : ['plugindir=${libdir}/pidgin-@0@'.format(purple_major_version)])
204         if INSTALL_I18N
205                 DESKTOP_FILE = 'im.pidgin.Pidgin3.desktop'
206                 desktop_file_in = configure_file(
207                     input : 'data/' + DESKTOP_FILE + '.in.in',
208                     output : DESKTOP_FILE + '.in',
209                     configuration : conf)
210                 desktop_file = i18n.merge_file(
211                     input : desktop_file_in,
212                     output : DESKTOP_FILE,
213                     po_dir : meson.source_root() + '/po',
214                     type : 'desktop',
215                     install : true,
216                     install_dir : get_option('datadir') + '/applications')
218                 appdata = i18n.merge_file(
219                     input : 'data/im.pidgin.Pidgin3.appdata.xml.in',
220                     output : 'im.pidgin.Pidgin3.appdata.xml',
221                     po_dir : meson.source_root() + '/po',
222                     install : true,
223                     install_dir : get_option('datadir') + '/metainfo')
224         endif  # INSTALL_I18N
226         if enable_introspection
227                 introspection_sources = libpidgin_headers
229                 gnome.generate_gir(libpidgin,
230                     sources : introspection_sources,
231                     includes : ['GObject-2.0', 'Gtk-3.0', libpurple_gir[0], talkatu_gir, gplugin_gir],
232                     namespace : 'Pidgin',
233                     symbol_prefix : 'pidgin',
234                     identifier_prefix : 'Pidgin',
235                     export_packages : 'pidgin-@0@'.format(purple_major_version),
236                     nsversion : '@0@.@1@'.format(purple_major_version,
237                                                  purple_minor_version),
238                     include_directories : [
239                         gplugin_include_directories,
240                         talkatu_include_directories,
241                     ],
242                     install : true,
243                     extra_args : ['--quiet'])
244         endif
246         subdir('data')
247         subdir('glade')
248         subdir('pixmaps')
249         subdir('plugins')
250 endif  # ENABLE_GTK