Sun, 23 Oct 2022 22:21:46 -0500
Flatten Meson build files
We use a new enough version that we can take advantage of a few shortcuts so that entire files don't need to be wrapped in a huge if.
Also, passing the dependency object directly to summary prints `YES`+the version, instead of just `YES`. Unfortunately, there's a bug with using a disabler, so some of them can't do that ([yet](https://github.com/mesonbuild/meson/pull/10949)).
Testing Done:
Configured with defaults and configured with
```
$ meson setup \
-Davahi=disabled \
-Dconsoleui=false \
-Dgtkui=false \
-Dintrospection=false \
-Dkwallet=disabled \
-Dlibgadu=disabled \
-Dlibsecret=disabled \
-Dmeanwhile=disabled \
-Dsilc=disabled \
-Dx=false \
-Dzephyr=disabled \
-Dunity-integration=disabled \
-Dgplugin:lua=false \
-Dgplugin:python3=false \
-Dgplugin:vapi=false \
-Ddynamic-prpls=bonjour
```
to disable almost everything.
Reviewed at https://reviews.imfreedom.org/r/1953/
|
38984
70dbe96fd686
Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
38783
diff
changeset
|
1 | enable_consoleui = false |
|
41827
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
2 | if not get_option('consoleui') |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
3 | subdir_done() |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
4 | endif |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
5 | |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
6 | libgnt_dep = dependency('gnt3', |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
7 | version : '>= 3.0.0', |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
8 | fallback : ['libgnt', 'libgnt_dep']) |
|
39360
e7bed293aad5
Switch to external libgnt with fallback.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39207
diff
changeset
|
9 | |
|
41827
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
10 | ####################################################################### |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
11 | # Check for ncurses and other things used by it |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
12 | # FIXME: This should be temporary until libgnt wraps the functionality. |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
13 | ####################################################################### |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
14 | ncurses_available = true |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
15 | ncurses_header = 'ncurses.h' |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
16 | # Some distros put the headers in ncursesw/, some don't. These are ordered to |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
17 | # pick the last available as most-specific version. |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
18 | ncursesw_header_paths = ['', 'ncursesw/'] |
|
39362
3e92f470c176
Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39360
diff
changeset
|
19 | |
|
41827
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
20 | ncurses = dependency('ncursesw', required : false) |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
21 | if ncurses.found() |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
22 | foreach location : ncursesw_header_paths |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
23 | f = location / 'ncurses.h' |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
24 | if compiler.has_header_symbol(f, 'get_wch', |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
25 | prefix : '#define _XOPEN_SOURCE_EXTENDED') |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
26 | ncurses_header = f |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
27 | endif |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
28 | endforeach |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
29 | else |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
30 | ncurses_available = false |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
31 | ncurses_inc = [] |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
32 | ncurses_libs = compiler.find_library('ncursesw', required : false) |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
33 | if ncurses_libs.found() |
|
39362
3e92f470c176
Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39360
diff
changeset
|
34 | foreach location : ncursesw_header_paths |
|
40536
c0ea70247280
Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40509
diff
changeset
|
35 | f = location / 'ncurses.h' |
|
39362
3e92f470c176
Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39360
diff
changeset
|
36 | if compiler.has_header_symbol(f, 'get_wch', |
|
3e92f470c176
Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39360
diff
changeset
|
37 | prefix : '#define _XOPEN_SOURCE_EXTENDED') |
|
41827
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
38 | ncurses_available = true |
|
39362
3e92f470c176
Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39360
diff
changeset
|
39 | ncurses_header = f |
|
3e92f470c176
Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39360
diff
changeset
|
40 | endif |
|
3e92f470c176
Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39360
diff
changeset
|
41 | endforeach |
|
3e92f470c176
Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39360
diff
changeset
|
42 | |
|
41827
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
43 | if ncurses_available |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
44 | ncurses = declare_dependency( |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
45 | include_directories : ncurses_inc, |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
46 | dependencies : ncurses_libs |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
47 | ) |
|
39362
3e92f470c176
Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39360
diff
changeset
|
48 | endif |
|
3e92f470c176
Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39360
diff
changeset
|
49 | endif |
|
41827
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
50 | endif |
|
39362
3e92f470c176
Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39360
diff
changeset
|
51 | |
|
41827
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
52 | if not ncurses_available |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
53 | # ncursesw was not found. Look for plain old ncurses |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
54 | ncurses = dependency('ncurses', required : false) |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
55 | if ncurses.found() |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
56 | ncurses_available = true |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
57 | else |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
58 | ncurses_libs = compiler.find_library('ncurses', required : false) |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
59 | ncurses_available = ncurses_libs.found() |
|
39362
3e92f470c176
Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39360
diff
changeset
|
60 | ncurses = declare_dependency(dependencies : ncurses_libs) |
|
3e92f470c176
Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39360
diff
changeset
|
61 | endif |
|
41827
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
62 | endif |
|
39362
3e92f470c176
Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39360
diff
changeset
|
63 | |
|
41827
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
64 | if not ncurses_available and host_machine.system() == 'windows' |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
65 | # Try pdcurses too. |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
66 | ncurses_header = 'curses.h' |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
67 | ncurses_libs = compiler.find_library('pdcurses', required : false) |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
68 | ncurses_available = compiler.has_header(ncurses_header) and ncurses_libs.found() |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
69 | ncurses = declare_dependency(dependencies : ncurses_libs) |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
70 | endif |
|
38984
70dbe96fd686
Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
38783
diff
changeset
|
71 | |
|
41827
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
72 | if not ncurses_available |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
73 | error('ncurses could not be found!') |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
74 | endif |
|
38984
70dbe96fd686
Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
38783
diff
changeset
|
75 | |
|
41827
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
76 | ncurses_header = '-DNCURSES_HEADER="@0@"'.format(ncurses_header) |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
77 | enable_consoleui = true |
|
38984
70dbe96fd686
Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
38783
diff
changeset
|
78 | |
|
38462
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
79 | |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
80 | libfinch_SOURCES = [ |
|
41510
630da93b9984
Implement notifications in Finch
Gary Kramlich <grim@reaperworld.com>
parents:
41142
diff
changeset
|
81 | 'finchnotifications.c', |
|
38462
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
82 | 'gntaccount.c', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
83 | 'gntblist.c', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
84 | 'gntconn.c', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
85 | 'gntconv.c', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
86 | 'gntdebug.c', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
87 | 'gntidle.c', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
88 | 'gntmedia.c', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
89 | 'gntmenuutil.c', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
90 | 'gntnotify.c', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
91 | 'gntplugin.c', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
92 | 'gntprefs.c', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
93 | 'gntrequest.c', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
94 | 'gntroomlist.c', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
95 | 'gntstatus.c', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
96 | 'gntui.c', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
97 | 'gntxfer.c', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
98 | package_revision, |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
99 | 'libfinch.c' |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
100 | ] |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
101 | |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
102 | libfinch_headers = [ |
|
41510
630da93b9984
Implement notifications in Finch
Gary Kramlich <grim@reaperworld.com>
parents:
41142
diff
changeset
|
103 | 'finchnotifications.h', |
|
38462
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
104 | 'gntaccount.h', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
105 | 'gntblist.h', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
106 | 'gntconn.h', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
107 | 'gntconv.h', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
108 | 'gntdebug.h', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
109 | 'gntidle.h', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
110 | 'gntmedia.h', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
111 | 'gntmenuutil.h', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
112 | 'gntnotify.h', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
113 | 'gntplugin.h', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
114 | 'gntprefs.h', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
115 | 'gntrequest.h', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
116 | 'gntroomlist.h', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
117 | 'gntstatus.h', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
118 | 'gntui.h', |
|
40508
2ebcb8eb5c01
create a global header for finch
Gary Kramlich <grim@reaperworld.com>
parents:
40051
diff
changeset
|
119 | 'gntxfer.h', |
|
2ebcb8eb5c01
create a global header for finch
Gary Kramlich <grim@reaperworld.com>
parents:
40051
diff
changeset
|
120 | 'libfinch.h' |
|
38462
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
121 | ] |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
122 | |
|
40721
909e3433f935
Register Finch enums in the GObject type system.
Gary Kramlich <grim@reaperworld.com>
parents:
40683
diff
changeset
|
123 | libfinch_enum_headers = [ |
|
909e3433f935
Register Finch enums in the GObject type system.
Gary Kramlich <grim@reaperworld.com>
parents:
40683
diff
changeset
|
124 | 'gntconv.h', |
|
909e3433f935
Register Finch enums in the GObject type system.
Gary Kramlich <grim@reaperworld.com>
parents:
40683
diff
changeset
|
125 | ] |
|
909e3433f935
Register Finch enums in the GObject type system.
Gary Kramlich <grim@reaperworld.com>
parents:
40683
diff
changeset
|
126 | |
|
909e3433f935
Register Finch enums in the GObject type system.
Gary Kramlich <grim@reaperworld.com>
parents:
40683
diff
changeset
|
127 | # the built lists are append to below |
|
909e3433f935
Register Finch enums in the GObject type system.
Gary Kramlich <grim@reaperworld.com>
parents:
40683
diff
changeset
|
128 | libfinch_built_sources = [] |
|
909e3433f935
Register Finch enums in the GObject type system.
Gary Kramlich <grim@reaperworld.com>
parents:
40683
diff
changeset
|
129 | libfinch_built_headers = [] |
|
41057
0a4177bbb1c4
Fix up the dependencies for our gir files and ensure ours will work as a subproject
Gary Kramlich <grim@reaperworld.com>
parents:
41056
diff
changeset
|
130 | libfinch_generated_sources = [] |
|
40721
909e3433f935
Register Finch enums in the GObject type system.
Gary Kramlich <grim@reaperworld.com>
parents:
40683
diff
changeset
|
131 | |
|
38462
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
132 | finch_SOURCES = [ |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
133 | 'finch.c' |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
134 | ] |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
135 | |
|
38487
9e341a7537bd
Use windows.compile_resources for Win32 resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38473
diff
changeset
|
136 | if IS_WIN32 |
|
39996
497dbea26009
Link Finch against winmm.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39798
diff
changeset
|
137 | winmm = compiler.find_library('winmm') |
|
38487
9e341a7537bd
Use windows.compile_resources for Win32 resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38473
diff
changeset
|
138 | |
|
38510
863a17674290
Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38506
diff
changeset
|
139 | finch_winres = configure_file( |
|
863a17674290
Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38506
diff
changeset
|
140 | input : 'finch_winres.rc.in', |
|
863a17674290
Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38506
diff
changeset
|
141 | output : 'finch_winres.rc', |
|
863a17674290
Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38506
diff
changeset
|
142 | configuration : version_conf) |
|
863a17674290
Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38506
diff
changeset
|
143 | finch_SOURCES += windows.compile_resources(finch_winres) |
|
863a17674290
Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38506
diff
changeset
|
144 | libfinch_winres = configure_file( |
|
863a17674290
Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38506
diff
changeset
|
145 | input : 'libfinch_winres.rc.in', |
|
863a17674290
Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38506
diff
changeset
|
146 | output : 'libfinch_winres.rc', |
|
863a17674290
Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38506
diff
changeset
|
147 | configuration : version_conf) |
|
863a17674290
Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38506
diff
changeset
|
148 | libfinch_SOURCES += windows.compile_resources(libfinch_winres) |
|
39996
497dbea26009
Link Finch against winmm.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39798
diff
changeset
|
149 | else |
|
497dbea26009
Link Finch against winmm.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39798
diff
changeset
|
150 | winmm = [] |
|
38487
9e341a7537bd
Use windows.compile_resources for Win32 resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38473
diff
changeset
|
151 | endif |
|
9e341a7537bd
Use windows.compile_resources for Win32 resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38473
diff
changeset
|
152 | |
|
41827
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
153 | libfinch_enums = gnome.mkenums_simple('finchenums', |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
154 | sources: libfinch_enum_headers) |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
155 | libfinch_built_sources += libfinch_enums[0] |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
156 | libfinch_built_headers += libfinch_enums[1] |
|
40721
909e3433f935
Register Finch enums in the GObject type system.
Gary Kramlich <grim@reaperworld.com>
parents:
40683
diff
changeset
|
157 | |
|
41827
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
158 | FINCH_H_INCLUDES = [] |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
159 | foreach header : libfinch_headers + ['finchenums.h'] |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
160 | FINCH_H_INCLUDES += '#include <finch/@0@>'.format(header) |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
161 | endforeach |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
162 | finch_h_conf = configuration_data() |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
163 | finch_h_conf.set('FINCH_H_INCLUDES', '\n'.join(FINCH_H_INCLUDES)) |
|
40508
2ebcb8eb5c01
create a global header for finch
Gary Kramlich <grim@reaperworld.com>
parents:
40051
diff
changeset
|
164 | |
|
41827
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
165 | finch_h = configure_file(input : 'finch.h.in', |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
166 | output : 'finch.h', |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
167 | configuration : finch_h_conf, |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
168 | install : true, |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
169 | install_dir : get_option('includedir') / 'finch-3') |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
170 | libfinch_built_headers += finch_h |
|
40508
2ebcb8eb5c01
create a global header for finch
Gary Kramlich <grim@reaperworld.com>
parents:
40051
diff
changeset
|
171 | |
|
41827
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
172 | install_headers(libfinch_headers, subdir : 'finch-3') |
|
38462
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
173 | |
|
41827
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
174 | libfinch_inc = include_directories('.') |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
175 | libfinch = shared_library('finch3', |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
176 | libfinch_SOURCES + libfinch_built_headers + libfinch_built_sources, |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
177 | c_args : [ |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
178 | '-DSTANDALONE', |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
179 | '-DGNTSEAL_ENABLE', |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
180 | '-DFINCH_COMPILATION', |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
181 | ncurses_header, |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
182 | '-DG_LOG_USE_STRUCTURED', |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
183 | '-DG_LOG_DOMAIN="Finch"', |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
184 | ], |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
185 | include_directories : [toplevel_inc], |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
186 | version : PURPLE_LIB_VERSION, |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
187 | dependencies : [libpurple_dep, libgnt_dep, ncurses, glib, winmm], |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
188 | install : true) |
|
41057
0a4177bbb1c4
Fix up the dependencies for our gir files and ensure ours will work as a subproject
Gary Kramlich <grim@reaperworld.com>
parents:
41056
diff
changeset
|
189 | |
|
41827
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
190 | if enable_introspection |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
191 | introspection_sources = libfinch_headers |
|
41057
0a4177bbb1c4
Fix up the dependencies for our gir files and ensure ours will work as a subproject
Gary Kramlich <grim@reaperworld.com>
parents:
41056
diff
changeset
|
192 | |
|
41827
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
193 | libfinch_gir = gnome.generate_gir(libfinch, |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
194 | sources : introspection_sources, |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
195 | header : 'finch.h', |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
196 | includes : ['GLib-2.0', 'GModule-2.0', 'GObject-2.0', libpurple_gir[0], 'Gnt-3.0'], |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
197 | namespace : 'Finch', |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
198 | symbol_prefix : 'finch', |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
199 | identifier_prefix : 'Finch', |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
200 | export_packages : 'finch-3', |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
201 | nsversion : '@0@.@1@'.format(purple_major_version, |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
202 | purple_minor_version), |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
203 | dependencies: [libgnt_dep, gplugin_dep, libpurple_dep], |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
204 | install : true, |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
205 | extra_args : ['-DFINCH_COMPILATION', '--quiet']) |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
206 | libfinch_generated_sources += libfinch_gir |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
207 | endif |
|
41057
0a4177bbb1c4
Fix up the dependencies for our gir files and ensure ours will work as a subproject
Gary Kramlich <grim@reaperworld.com>
parents:
41056
diff
changeset
|
208 | |
|
41827
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
209 | libfinch_dep = declare_dependency( |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
210 | include_directories : [toplevel_inc, libfinch_inc], |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
211 | link_with : libfinch, |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
212 | sources: libfinch_built_headers + libfinch_generated_sources, |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
213 | dependencies : [libpurple_dep, libgnt_dep, glib]) |
|
38462
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
214 | |
|
41827
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
215 | finch = executable('finch3', |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
216 | finch_SOURCES, |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
217 | c_args : [ |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
218 | '-DSTANDALONE', |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
219 | '-DGNTSEAL_ENABLE', |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
220 | '-DG_LOG_USE_STRUCTURED', |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
221 | '-DG_LOG_DOMAIN="Finch"', |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
222 | ], |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
223 | dependencies : [libpurple_dep, libgnt_dep, libfinch_dep], |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
224 | install : true) |
|
38462
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
225 | |
|
41827
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
226 | meson.override_dependency('finch-3', libfinch_dep) |
|
41006
a3d6a07889e7
Override the dependencies if we have a new enough meson
Gary Kramlich <grim@reaperworld.com>
parents:
40999
diff
changeset
|
227 | |
|
41827
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
228 | pkgconfig.generate( |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
229 | libfinch, |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
230 | name : 'Finch', |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
231 | description : 'Finch is an instant messenger application that uses libpurple for protocol support and ncurses (libgnt) for the UI.', |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
232 | version : meson.project_version(), |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
233 | filebase : 'finch-3', |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
234 | subdirs : 'finch-3', |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
235 | # NOTE: Don't use gnt from pkgconfig, as it might be a subproject. |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
236 | requires : ['gnt', libpurple], |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
237 | variables : ['plugindir=${libdir}/finch-@0@'.format(purple_major_version)]) |
|
38462
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
238 | |
|
41827
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41752
diff
changeset
|
239 | subdir('plugins') |