pidgin/meson.build

Tue, 22 May 2018 11:07:37 -0500

author
Mike Ruprecht <cmaiku@gmail.com>
date
Tue, 22 May 2018 11:07:37 -0500
changeset 39076
dadd12a48fb8
parent 39034
d565ddadf19c
child 39080
c4bf9f7619f9
permissions
-rw-r--r--

meson: Fix Windows build's dynamic loading of dependencies

WinPidgin loads its dependencies, libpidgin in particular, dynamically
so that it can set up DLL search paths. This way it doesn't error out
while loading if it's not placed in the same directory as its
dependencies. In order to do this, it compiled pidgin.c into libpidgin,
stopping GLib and libpurple dependencies from loading immediately and
failing. This patch fixes the meson build to enable working this way
again.

38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
1 libpidgin_SOURCES = [
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
2 'pidginstock.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
3 'gtkaccount.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
4 'gtkblist.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
5 'gtkblist-theme.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
6 'gtkblist-theme-loader.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
7 'gtkcellrendererexpander.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
8 'gtkcertmgr.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
9 'gtkconn.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
10 'gtkconv.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
11 'gtkconv-theme.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
12 'gtkconv-theme-loader.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
13 'gtkdebug.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
14 'gtkdialogs.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
15 'gtkdnd-hints.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
16 'gtkdocklet.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
17 'gtkicon-theme.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
18 'gtkicon-theme-loader.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
19 'gtkidle.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
20 'gtklog.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
21 'gtkmedia.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
22 'gtkmenutray.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
23 'gtknotify.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
24 'gtkplugin.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
25 'gtkpluginpref.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
26 'gtkpounce.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
27 'gtkprefs.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
28 'gtkprivacy.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
29 'gtkrequest.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
30 'gtkroomlist.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
31 'gtksavedstatuses.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
32 'gtkscrollbook.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
33 'gtksmiley-manager.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
34 'gtksmiley-theme.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
35 'gtksound.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
36 'gtkstatus-icon-theme.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
37 'gtkstatusbox.c',
38748
17f8a2a8ccba Merged release-2.x.y into default
Gary Kramlich <grim@reaperworld.com>
parents: 38741
diff changeset
38 'gtkstyle.c',
38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
39 'gtkutils.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
40 'gtkwebview.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
41 'gtkwebviewtoolbar.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
42 'gtkwhiteboard.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
43 'gtkxfer.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
44 'libpidgin.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
45 'minidialog.c',
38659
7772f66662f0 Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents: 38616
diff changeset
46 'pidginabout.c',
7772f66662f0 Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents: 38616
diff changeset
47 'pidgintooltip.c',
38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
48 ]
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
49
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
50 libpidgin_headers = [
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
51 'gtkaccount.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
52 'gtkblist.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
53 'gtkblist-theme.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
54 'gtkblist-theme-loader.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
55 'gtkcellrendererexpander.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
56 'gtkcertmgr.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
57 'gtkconn.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
58 'gtkconv.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
59 'gtkconvwin.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
60 'gtkconv-theme.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
61 'gtkconv-theme-loader.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
62 'gtkdebug.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
63 'gtkdialogs.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
64 'gtkdnd-hints.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
65 'gtkdocklet.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
66 'gtkicon-theme.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
67 'gtkicon-theme-loader.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
68 'gtkidle.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
69 'gtklog.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
70 'gtkmedia.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
71 'gtkmenutray.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
72 'gtknickcolors.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
73 'gtknotify.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
74 'gtkplugin.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
75 'gtkpluginpref.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
76 'gtkprefs.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
77 'gtkprivacy.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
78 'gtkpounce.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
79 'gtkrequest.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
80 'gtkroomlist.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
81 'gtksavedstatuses.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
82 'gtkscrollbook.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
83 'gtksmiley-manager.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
84 'gtksmiley-theme.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
85 'gtksound.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
86 'gtkstatus-icon-theme.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
87 'gtkstatusbox.h',
38748
17f8a2a8ccba Merged release-2.x.y into default
Gary Kramlich <grim@reaperworld.com>
parents: 38741
diff changeset
88 'gtkstyle.h',
38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
89 'pidginstock.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
90 'gtkutils.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
91 'gtkwebview.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
92 'gtkwebviewtoolbar.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
93 'gtkwhiteboard.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
94 'gtkxfer.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
95 'minidialog.h',
38659
7772f66662f0 Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents: 38616
diff changeset
96 'pidginabout.h',
38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
97 'pidgintooltip.h',
38659
7772f66662f0 Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents: 38616
diff changeset
98 'pidgin.h',
38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
99 ]
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
100
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
101 pidgin_SOURCES = [
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
102 'pidgin.c'
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
103 ]
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
104
38659
7772f66662f0 Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents: 38616
diff changeset
105 pidgin_resource = gnome.compile_resources('pidginresources', 'pidgin.gresource.xml',
38513
24e16b0137d0 Merge with default.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38512
diff changeset
106 c_name : 'pidgin')
24e16b0137d0 Merge with default.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38512
diff changeset
107 libpidgin_SOURCES += pidgin_resource
38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
108
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
109 if IS_WIN32
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
110 libpidgin_SOURCES += [
39076
dadd12a48fb8 meson: Fix Windows build's dynamic loading of dependencies
Mike Ruprecht <cmaiku@gmail.com>
parents: 39034
diff changeset
111 'pidgin.c',
38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
112 'win32/gtkwin32dep.c',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
113 'win32/untar.c'
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
114 ]
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
115
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
116 # Files that looks like obsolete (were used in Pidgin2):
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
117 # win32/gtkdocklet-win32.c
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
118 # win32/MinimizeToTray.c
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
119 # win32/MinimizeToTray.h
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
120
38510
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38508
diff changeset
121 pidgin_exe_rc = configure_file(
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38508
diff changeset
122 input : 'win32/pidgin_exe_rc.rc.in',
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38508
diff changeset
123 output : 'pidgin_exe_rc.rc',
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38508
diff changeset
124 configuration : version_conf)
39076
dadd12a48fb8 meson: Fix Windows build's dynamic loading of dependencies
Mike Ruprecht <cmaiku@gmail.com>
parents: 39034
diff changeset
125 pidgin_SOURCES = [
38510
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38508
diff changeset
126 'win32/winpidgin.c',
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38508
diff changeset
127 windows.compile_resources(pidgin_exe_rc,
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38508
diff changeset
128 include_directories : include_directories('win32')
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38508
diff changeset
129 )
38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
130 ]
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
131
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
132 libpidgin_headers += [
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
133 'win32/gtkwin32dep.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
134 'win32/resource.h',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
135 'win32/untar.h'
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
136 ]
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
137 endif
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
138
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
139 if ENABLE_GTK
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
140 if IS_WIN32
38510
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38508
diff changeset
141 pidgin_dll_rc = configure_file(
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38508
diff changeset
142 input : 'win32/pidgin_dll_rc.rc.in',
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38508
diff changeset
143 output : 'pidgin_dll_rc.rc',
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38508
diff changeset
144 configuration : version_conf)
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38508
diff changeset
145 libpidgin_SOURCES += windows.compile_resources(pidgin_dll_rc,
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38508
diff changeset
146 include_directories : include_directories('win32')
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38508
diff changeset
147 )
38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
148 endif
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
149
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
150 install_headers(libpidgin_headers, subdir : 'pidgin')
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
151
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
152 libpidgin_inc = include_directories('.')
38471
a7ce1d49ac8c Add Pidgin plugins to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38469
diff changeset
153 libpidgin = shared_library('pidgin',
38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
154 libpidgin_SOURCES,
38935
4c5211ba7880 Better build fixes: implemented qulogic's advice for package_revision and dbus codegen
Shawn Napora <shawn@napora.me>
parents: 38934
diff changeset
155 package_revision,
38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
156 include_directories : [toplevel_inc],
38518
1c2e969922b8 Fix versioning of libraries.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38516
diff changeset
157 version : PURPLE_LIB_VERSION,
38659
7772f66662f0 Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents: 38616
diff changeset
158 dependencies : [
7772f66662f0 Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents: 38616
diff changeset
159 dbus,
7772f66662f0 Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents: 38616
diff changeset
160 enchant,
7772f66662f0 Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents: 38616
diff changeset
161 GCR,
7772f66662f0 Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents: 38616
diff changeset
162 glib,
7772f66662f0 Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents: 38616
diff changeset
163 gstreamer_video,
7772f66662f0 Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents: 38616
diff changeset
164 gtk,
7772f66662f0 Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents: 38616
diff changeset
165 IOKIT,
7772f66662f0 Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents: 38616
diff changeset
166 json,
7772f66662f0 Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents: 38616
diff changeset
167 math,
7772f66662f0 Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents: 38616
diff changeset
168 webkit,
7772f66662f0 Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents: 38616
diff changeset
169 x11,
7772f66662f0 Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents: 38616
diff changeset
170 libpurple_dep,
7772f66662f0 Lots of tweaking/wiring
Gary Kramlich <grim@reaperworld.com>
parents: 38616
diff changeset
171 ],
38473
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38472
diff changeset
172 install : true)
38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
173 libpidgin_dep = declare_dependency(
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
174 include_directories : [toplevel_inc, libpidgin_inc],
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
175 link_with : libpidgin,
38471
a7ce1d49ac8c Add Pidgin plugins to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38469
diff changeset
176 dependencies : [webkit, gtk, glib, math])
38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
177
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
178 pidgin = executable('pidgin',
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
179 pidgin_SOURCES,
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
180 link_args : '-export-dynamic',
39076
dadd12a48fb8 meson: Fix Windows build's dynamic loading of dependencies
Mike Ruprecht <cmaiku@gmail.com>
parents: 39034
diff changeset
181 include_directories : toplevel_inc,
dadd12a48fb8 meson: Fix Windows build's dynamic loading of dependencies
Mike Ruprecht <cmaiku@gmail.com>
parents: 39034
diff changeset
182 dependencies : IS_WIN32 ? [] : [libpurple_dep, libpidgin_dep],
38608
e749d953eb08 pidgin: Set meson gui_app flag on pidgin executable
Mike Ruprecht <cmaiku@gmail.com>
parents: 38579
diff changeset
183 gui_app : true,
38473
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38472
diff changeset
184 install : true)
38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
185
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
186 if IS_WIN32
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
187 # libpidgin_la_LIBADD += -lwinmm
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
188 # pidgin_LDFLAGS += -mwindows
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
189 endif
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
190
38783
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38748
diff changeset
191 pkgconfig.generate(
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38748
diff changeset
192 name : 'Pidgin',
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38748
diff changeset
193 description : 'Pidgin is a GTK3-based instant messenger application.',
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38748
diff changeset
194 version : purple_display_version,
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38748
diff changeset
195 filebase : 'pidgin-3',
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38748
diff changeset
196 subdirs : 'pidgin',
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38748
diff changeset
197 libraries : [libpidgin],
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38748
diff changeset
198 requires : ['gtk+-3.0', 'webkitgtk-3.0', 'purple-3'],
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38748
diff changeset
199 variables : ['plugindir=${libdir}/pidgin'])
38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
200
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
201 if INSTALL_I18N
38611
4cf9b6a6e259 Rename .desktop and .appdata files using reverse-DNS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
202 DESKTOP_FILE = 'im.pidgin.Pidgin.desktop'
38473
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38472
diff changeset
203 desktop_file_in = configure_file(
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38472
diff changeset
204 input : 'data/' + DESKTOP_FILE + '.in.in',
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38472
diff changeset
205 output : DESKTOP_FILE + '.in',
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38472
diff changeset
206 configuration : conf)
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38472
diff changeset
207 desktop_file = custom_target(DESKTOP_FILE,
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38472
diff changeset
208 input : desktop_file_in,
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38472
diff changeset
209 output : DESKTOP_FILE,
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38472
diff changeset
210 command : [intltool_merge, '--desktop-style', '-u',
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38472
diff changeset
211 '-c', '@BUILD_DIR@/po/.intltool-merge-cache',
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38472
diff changeset
212 meson.source_root() + '/po', '@INPUT@', '@OUTPUT@'],
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38472
diff changeset
213 install : true,
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38472
diff changeset
214 install_dir : get_option('datadir') + '/applications')
38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
215
38611
4cf9b6a6e259 Rename .desktop and .appdata files using reverse-DNS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
216 appdata = custom_target('im.pidgin.Pidgin.appdata.xml',
4cf9b6a6e259 Rename .desktop and .appdata files using reverse-DNS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
217 input : 'data/im.pidgin.Pidgin.appdata.xml.in',
4cf9b6a6e259 Rename .desktop and .appdata files using reverse-DNS.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38536
diff changeset
218 output : 'im.pidgin.Pidgin.appdata.xml',
38473
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38472
diff changeset
219 command : [intltool_merge, '--xml-style', '-u',
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38472
diff changeset
220 '-c', '@BUILD_DIR@/po/.intltool-merge-cache',
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38472
diff changeset
221 meson.source_root() + '/po', '@INPUT@', '@OUTPUT@'],
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38472
diff changeset
222 install : true,
38614
79259df32345 Update AppData file to latest spec.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38611
diff changeset
223 install_dir : get_option('datadir') + '/metainfo')
38473
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38472
diff changeset
224 endif # INSTALL_I18N
38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
225
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
226 if enable_introspection
38472
1f332f8141f4 Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38471
diff changeset
227 introspection_sources = libpidgin_headers
38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
228
38472
1f332f8141f4 Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38471
diff changeset
229 gnome.generate_gir(libpidgin,
1f332f8141f4 Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38471
diff changeset
230 sources : introspection_sources,
38741
fb51706245fb Make sure we include the WebKit-3.0 gir file
Gary Kramlich <grim@reaperworld.com>
parents: 38659
diff changeset
231 includes : ['GObject-2.0', 'Gtk-3.0', libpurple_gir[0], 'WebKit-3.0'],
38472
1f332f8141f4 Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38471
diff changeset
232 namespace : 'Pidgin',
38516
dd0ddcb829b9 Make GIR outputs more consistent with autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38513
diff changeset
233 symbol_prefix : 'pidgin',
38472
1f332f8141f4 Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38471
diff changeset
234 identifier_prefix : 'Pidgin',
38516
dd0ddcb829b9 Make GIR outputs more consistent with autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38513
diff changeset
235 export_packages : 'pidgin-@0@'.format(purple_major_version),
38472
1f332f8141f4 Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38471
diff changeset
236 nsversion : '@0@.@1@'.format(purple_major_version,
1f332f8141f4 Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38471
diff changeset
237 purple_minor_version),
1f332f8141f4 Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38471
diff changeset
238 install : true)
38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
239 endif
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
240
39034
d565ddadf19c Move pidgin/pixmaps/icons/ to the more standard pidgin/data/icons/
Mike Ruprecht <cmaiku@gmail.com>
parents: 38935
diff changeset
241 subdir('data')
38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
242 subdir('pixmaps')
38471
a7ce1d49ac8c Add Pidgin plugins to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38469
diff changeset
243 subdir('plugins')
38469
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
244 subdir('themes')
7e4faa3741ad Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
245 endif # ENABLE_GTK

mercurial