finch/meson.build

Tue, 08 Oct 2019 15:53:19 -0400

author
Elliott Sales de Andrade <qulogic@pidgin.im>
date
Tue, 08 Oct 2019 15:53:19 -0400
changeset 39951
e9eaaff671c9
parent 39798
2afb71e570af
child 40001
a63721e6215f
permissions
-rw-r--r--

Convert optional dependencies into Meson features.

38984
70dbe96fd686 Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 38783
diff changeset
1 enable_consoleui = false
70dbe96fd686 Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 38783
diff changeset
2 if get_option('consoleui')
39630
d5d92880d39e Finch3 needs libgnt3 so look for the right dependency
Gary Kramlich <grim@reaperworld.com>
parents: 39625
diff changeset
3 libgnt_dep = dependency('gnt3', version : '>= 3.0.0', required : false)
39360
e7bed293aad5 Switch to external libgnt with fallback.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39207
diff changeset
4 if libgnt_dep.found()
39625
f1ee7f8b108e Update libgnt version number.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39618
diff changeset
5 libgnt_gir = ['Gnt-3.0']
39360
e7bed293aad5 Switch to external libgnt with fallback.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39207
diff changeset
6 else
39428
ef00e03ece89 Set subproject default options to match parent.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39426
diff changeset
7 libgnt_proj = subproject('libgnt',
ef00e03ece89 Set subproject default options to match parent.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39426
diff changeset
8 default_options : [
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39798
diff changeset
9 'introspection=' + enable_introspection.to_string(),
39428
ef00e03ece89 Set subproject default options to match parent.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39426
diff changeset
10 ]
ef00e03ece89 Set subproject default options to match parent.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39426
diff changeset
11 )
39360
e7bed293aad5 Switch to external libgnt with fallback.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39207
diff changeset
12 libgnt_dep = libgnt_proj.get_variable('libgnt_dep')
e7bed293aad5 Switch to external libgnt with fallback.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39207
diff changeset
13 libgnt_gir = libgnt_proj.get_variable('libgnt_gir')
e7bed293aad5 Switch to external libgnt with fallback.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39207
diff changeset
14 endif
e7bed293aad5 Switch to external libgnt with fallback.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39207
diff changeset
15
39362
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
16 #######################################################################
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
17 # Check for ncurses and other things used by it
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
18 # FIXME: This should be temporary until libgnt wraps the functionality.
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
19 #######################################################################
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
20 ncurses_available = true
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
21 ncurses_header = 'ncurses.h'
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
22 # Some distros put the headers in ncursesw/, some don't. These are ordered to
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
23 # pick the last available as most-specific version.
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
24 ncursesw_header_paths = ['', 'ncursesw/']
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
25
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
26 ncurses = dependency('ncursesw', required : false)
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
27 if ncurses.found()
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
28 foreach location : ncursesw_header_paths
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
29 f = location + 'ncurses.h'
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
30 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
31 prefix : '#define _XOPEN_SOURCE_EXTENDED')
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
32 ncurses_header = f
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
33 endif
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
34 endforeach
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
35 else
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
36 ncurses_available = false
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
37 ncurses_inc = []
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
38 ncurses_libs = compiler.find_library('ncursesw', required : false)
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
39 if ncurses_libs.found()
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
40 foreach location : ncursesw_header_paths
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
41 f = location + 'ncurses.h'
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
42 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
43 prefix : '#define _XOPEN_SOURCE_EXTENDED')
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
44 ncurses_available = true
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
45 ncurses_header = f
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
46 endif
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
47 endforeach
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
48
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
49 if ncurses_available
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
50 ncurses = declare_dependency(
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
51 include_directories : ncurses_inc,
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
52 dependencies : ncurses_libs
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
53 )
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
54 endif
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
55 endif
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
56 endif
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
57
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
58 if not ncurses_available
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
59 # ncursesw was not found. Look for plain old ncurses
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
60 ncurses = dependency('ncurses', required : false)
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
61 if ncurses.found()
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
62 ncurses_available = true
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
63 else
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
64 ncurses_libs = compiler.find_library('ncurses', required : false)
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
65 ncurses_available = ncurses_libs.found()
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
66 ncurses = declare_dependency(dependencies : ncurses_libs)
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
67 endif
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
68 endif
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
69
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
70 if not ncurses_available and host_machine.system() == 'windows'
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
71 # Try pdcurses too.
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
72 ncurses_header = 'curses.h'
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
73 ncurses_libs = compiler.find_library('pdcurses', required : false)
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
74 ncurses_available = compiler.has_header(ncurses_header) and ncurses_libs.found()
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
75 ncurses = declare_dependency(dependencies : ncurses_libs)
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
76 endif
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
77
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
78 if not ncurses_available
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
79 error('ncurses could not be found!')
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
80 endif
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
81
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
82 if libgnt_dep.found() and ncurses_available
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
83 ncurses_header = '-DNCURSES_HEADER="@0@"'.format(ncurses_header)
38984
70dbe96fd686 Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 38783
diff changeset
84 enable_consoleui = true
70dbe96fd686 Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 38783
diff changeset
85 else
70dbe96fd686 Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 38783
diff changeset
86 error('''
70dbe96fd686 Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 38783
diff changeset
87
39360
e7bed293aad5 Switch to external libgnt with fallback.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39207
diff changeset
88 Finch will not be built. You need to install libgnt (or its requirements) and its development headers.
38984
70dbe96fd686 Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 38783
diff changeset
89
70dbe96fd686 Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 38783
diff changeset
90 ''')
70dbe96fd686 Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 38783
diff changeset
91 endif
70dbe96fd686 Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 38783
diff changeset
92 endif
70dbe96fd686 Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 38783
diff changeset
93
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
94
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
95 libfinch_SOURCES = [
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
96 'gntaccount.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
97 'gntblist.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
98 'gntconn.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
99 'gntconv.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
100 'gntdebug.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
101 'gntidle.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
102 'gntlog.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
103 'gntmedia.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
104 'gntmenuutil.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
105 'gntnotify.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
106 'gntplugin.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
107 'gntpounce.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
108 'gntprefs.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
109 'gntrequest.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
110 'gntroomlist.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
111 'gntsound.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
112 'gntstatus.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
113 'gntui.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
114 'gntxfer.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
115 package_revision,
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
116 'libfinch.c'
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
117 ]
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
118
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
119 libfinch_headers = [
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
120 'gntaccount.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
121 'gntblist.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
122 'gntconn.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
123 'gntconv.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
124 'gntdebug.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
125 'finch.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
126 'gntidle.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
127 'gntlog.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
128 'gntmedia.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
129 'gntmenuutil.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
130 'gntnotify.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
131 'gntplugin.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
132 'gntpounce.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
133 'gntprefs.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
134 'gntrequest.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
135 'gntroomlist.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
136 'gntsound.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
137 'gntstatus.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
138 'gntui.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
139 'gntxfer.h'
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
140 ]
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
141
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
142 finch_SOURCES = [
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
143 'finch.c'
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
144 ]
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
145
38487
9e341a7537bd Use windows.compile_resources for Win32 resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38473
diff changeset
146 if IS_WIN32
9e341a7537bd Use windows.compile_resources for Win32 resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38473
diff changeset
147 # libfinch_la_LIBADD += \
9e341a7537bd Use windows.compile_resources for Win32 resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38473
diff changeset
148 # -lwinmm
9e341a7537bd Use windows.compile_resources for Win32 resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38473
diff changeset
149
38510
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
150 finch_winres = configure_file(
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
151 input : 'finch_winres.rc.in',
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
152 output : 'finch_winres.rc',
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
153 configuration : version_conf)
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
154 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
155 libfinch_winres = configure_file(
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
156 input : 'libfinch_winres.rc.in',
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
157 output : 'libfinch_winres.rc',
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
158 configuration : version_conf)
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
159 libfinch_SOURCES += windows.compile_resources(libfinch_winres)
38487
9e341a7537bd Use windows.compile_resources for Win32 resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38473
diff changeset
160 endif
9e341a7537bd Use windows.compile_resources for Win32 resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38473
diff changeset
161
38529
6b1f391a52ba Remove redundant option variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38518
diff changeset
162 if enable_consoleui
39451
31c873b5deaf First pass at making pidgin3 not clobber pidgin2
Gary Kramlich <grim@reaperworld.com>
parents: 39443
diff changeset
163 install_headers(libfinch_headers, subdir : 'finch-3')
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
164
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
165 libfinch_inc = include_directories('.')
39458
037e6c7b4336 we renamed finch in the man page but not the actual executable...
Gary Kramlich <grim@reaperworld.com>
parents: 39457
diff changeset
166 libfinch = shared_library('finch3',
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
167 libfinch_SOURCES,
39618
2dad24e4bcba Enable gnt sealing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39458
diff changeset
168 c_args : ['-DSTANDALONE', '-DGNTSEAL_ENABLE', ncurses_header],
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
169 include_directories : [toplevel_inc],
38518
1c2e969922b8 Fix versioning of libraries.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38516
diff changeset
170 version : PURPLE_LIB_VERSION,
39362
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
171 dependencies : [libpurple_dep, libgnt_dep, ncurses, glib],
38473
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38472
diff changeset
172 install : true)
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
173 libfinch_dep = declare_dependency(
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
174 include_directories : [toplevel_inc, libfinch_inc],
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
175 link_with : libfinch,
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
176 dependencies : [libpurple_dep, libgnt_dep, glib])
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
177
39458
037e6c7b4336 we renamed finch in the man page but not the actual executable...
Gary Kramlich <grim@reaperworld.com>
parents: 39457
diff changeset
178 finch = executable('finch3',
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
179 finch_SOURCES,
39618
2dad24e4bcba Enable gnt sealing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39458
diff changeset
180 c_args : ['-DSTANDALONE', '-DGNTSEAL_ENABLE'],
38473
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38472
diff changeset
181 dependencies : [libpurple_dep, libgnt_dep, libfinch_dep],
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38472
diff changeset
182 install : true)
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
183
38783
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38531
diff changeset
184 pkgconfig.generate(
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38531
diff changeset
185 name : 'Finch',
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38531
diff changeset
186 description : 'Finch is an instant messenger application that uses libpurple for protocol support and ncurses (libgnt) for the UI.',
39443
5cffc7a8c5e7 Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39428
diff changeset
187 version : meson.project_version(),
39451
31c873b5deaf First pass at making pidgin3 not clobber pidgin2
Gary Kramlich <grim@reaperworld.com>
parents: 39443
diff changeset
188 filebase : 'finch-3',
31c873b5deaf First pass at making pidgin3 not clobber pidgin2
Gary Kramlich <grim@reaperworld.com>
parents: 39443
diff changeset
189 subdirs : 'finch-3',
38783
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38531
diff changeset
190 libraries : [libfinch],
39457
d2f72768bbf2 Fix the plugin directories in the pkgconfig files (libpurple's was fine)
Gary Kramlich <grim@reaperworld.com>
parents: 39451
diff changeset
191 requires : ['gnt', 'purple-3'],
d2f72768bbf2 Fix the plugin directories in the pkgconfig files (libpurple's was fine)
Gary Kramlich <grim@reaperworld.com>
parents: 39451
diff changeset
192 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
193
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
194 if enable_introspection
38472
1f332f8141f4 Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38470
diff changeset
195 introspection_sources = libfinch_headers
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
196
38472
1f332f8141f4 Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38470
diff changeset
197 gnome.generate_gir(libfinch,
1f332f8141f4 Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38470
diff changeset
198 sources : introspection_sources,
39798
2afb71e570af Update everything to do a full build of all subprojects.
Gary Kramlich <grim@reaperworld.com>
parents: 39630
diff changeset
199 includes : [libgnt_gir[0], libpurple_gir[0], gplugin_gir],
38472
1f332f8141f4 Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38470
diff changeset
200 namespace : 'Finch',
38516
dd0ddcb829b9 Make GIR outputs more consistent with autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38512
diff changeset
201 symbol_prefix : 'finch',
38472
1f332f8141f4 Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38470
diff changeset
202 identifier_prefix : 'Finch',
38516
dd0ddcb829b9 Make GIR outputs more consistent with autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38512
diff changeset
203 export_packages : 'finch',
38472
1f332f8141f4 Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38470
diff changeset
204 nsversion : '@0@.@1@'.format(purple_major_version,
1f332f8141f4 Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38470
diff changeset
205 purple_minor_version),
39207
fc04bee28325 Use the dependency object to determine the path to add to the include directories for gnome.generate_gir
Gary Kramlich <grim@reaperworld.com>
parents: 39073
diff changeset
206 include_directories : [
39426
2e4f09a49404 Add fallback for gplugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39370
diff changeset
207 gplugin_include_directories,
39207
fc04bee28325 Use the dependency object to determine the path to add to the include directories for gnome.generate_gir
Gary Kramlich <grim@reaperworld.com>
parents: 39073
diff changeset
208 ],
39370
ba8bb361f1f2 Add --quiet argument to gnome.generate_gir() calls
Mike Ruprecht <cmaiku@gmail.com>
parents: 39363
diff changeset
209 install : true,
ba8bb361f1f2 Add --quiet argument to gnome.generate_gir() calls
Mike Ruprecht <cmaiku@gmail.com>
parents: 39363
diff changeset
210 extra_args : ['--quiet'])
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
211 endif
38501
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38487
diff changeset
212
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38487
diff changeset
213 subdir('plugins')
38529
6b1f391a52ba Remove redundant option variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38518
diff changeset
214 endif # enable_consoleui

mercurial