finch/meson.build

Thu, 20 Feb 2020 20:30:38 -0600

author
Gary Kramlich <grim@reaperworld.com>
date
Thu, 20 Feb 2020 20:30:38 -0600
changeset 40302
28deeeb1ecdf
parent 40051
c3c470f86872
child 40508
2ebcb8eb5c01
permissions
-rw-r--r--

Fix some issues found in review

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()
40040
3f81150e326b Fix up the introspection feature so it can be disabled correctly
Gary Kramlich <grim@reaperworld.com>
parents: 40001
diff changeset
5 if enable_introspection
3f81150e326b Fix up the introspection feature so it can be disabled correctly
Gary Kramlich <grim@reaperworld.com>
parents: 40001
diff changeset
6 libgnt_gir = ['Gnt-3.0']
3f81150e326b Fix up the introspection feature so it can be disabled correctly
Gary Kramlich <grim@reaperworld.com>
parents: 40001
diff changeset
7 endif
39360
e7bed293aad5 Switch to external libgnt with fallback.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39207
diff changeset
8 else
39428
ef00e03ece89 Set subproject default options to match parent.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39426
diff changeset
9 libgnt_proj = subproject('libgnt',
ef00e03ece89 Set subproject default options to match parent.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39426
diff changeset
10 default_options : [
40051
c3c470f86872 Forward doc option on to libgnt.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 40040
diff changeset
11 'doc=' + get_option('doc').to_string(),
39951
e9eaaff671c9 Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39798
diff changeset
12 '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
13 ]
ef00e03ece89 Set subproject default options to match parent.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39426
diff changeset
14 )
39360
e7bed293aad5 Switch to external libgnt with fallback.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39207
diff changeset
15 libgnt_dep = libgnt_proj.get_variable('libgnt_dep')
40040
3f81150e326b Fix up the introspection feature so it can be disabled correctly
Gary Kramlich <grim@reaperworld.com>
parents: 40001
diff changeset
16
3f81150e326b Fix up the introspection feature so it can be disabled correctly
Gary Kramlich <grim@reaperworld.com>
parents: 40001
diff changeset
17 if enable_introspection
3f81150e326b Fix up the introspection feature so it can be disabled correctly
Gary Kramlich <grim@reaperworld.com>
parents: 40001
diff changeset
18 libgnt_gir = libgnt_proj.get_variable('libgnt_gir')
3f81150e326b Fix up the introspection feature so it can be disabled correctly
Gary Kramlich <grim@reaperworld.com>
parents: 40001
diff changeset
19 endif
39360
e7bed293aad5 Switch to external libgnt with fallback.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39207
diff changeset
20 endif
e7bed293aad5 Switch to external libgnt with fallback.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39207
diff changeset
21
39362
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
22 #######################################################################
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
23 # 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
24 # 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
25 #######################################################################
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
26 ncurses_available = true
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
27 ncurses_header = 'ncurses.h'
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
28 # 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
29 # 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
30 ncursesw_header_paths = ['', 'ncursesw/']
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
31
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
32 ncurses = dependency('ncursesw', required : false)
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
33 if ncurses.found()
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
34 foreach location : ncursesw_header_paths
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
35 f = location + 'ncurses.h'
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')
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
38 ncurses_header = f
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
39 endif
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
40 endforeach
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
41 else
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
42 ncurses_available = false
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
43 ncurses_inc = []
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
44 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
45 if ncurses_libs.found()
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
46 foreach location : ncursesw_header_paths
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
47 f = location + 'ncurses.h'
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
48 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
49 prefix : '#define _XOPEN_SOURCE_EXTENDED')
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
50 ncurses_available = true
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
51 ncurses_header = f
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
52 endif
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
53 endforeach
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
54
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
55 if ncurses_available
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
56 ncurses = declare_dependency(
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
57 include_directories : ncurses_inc,
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
58 dependencies : ncurses_libs
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
59 )
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
60 endif
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
61 endif
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
62 endif
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
63
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
64 if not ncurses_available
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
65 # 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
66 ncurses = dependency('ncurses', required : false)
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
67 if ncurses.found()
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
68 ncurses_available = true
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
69 else
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
70 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
71 ncurses_available = ncurses_libs.found()
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
72 ncurses = declare_dependency(dependencies : ncurses_libs)
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
73 endif
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
74 endif
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
75
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
76 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
77 # Try pdcurses too.
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
78 ncurses_header = 'curses.h'
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
79 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
80 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
81 ncurses = declare_dependency(dependencies : ncurses_libs)
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
82 endif
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
83
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
84 if not ncurses_available
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
85 error('ncurses could not be found!')
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
86 endif
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
87
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
88 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
89 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
90 enable_consoleui = true
70dbe96fd686 Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 38783
diff changeset
91 else
70dbe96fd686 Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 38783
diff changeset
92 error('''
70dbe96fd686 Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 38783
diff changeset
93
39360
e7bed293aad5 Switch to external libgnt with fallback.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39207
diff changeset
94 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
95
70dbe96fd686 Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 38783
diff changeset
96 ''')
70dbe96fd686 Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 38783
diff changeset
97 endif
70dbe96fd686 Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 38783
diff changeset
98 endif
70dbe96fd686 Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 38783
diff changeset
99
38462
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 libfinch_SOURCES = [
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
102 'gntaccount.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
103 'gntblist.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
104 'gntconn.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
105 'gntconv.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
106 'gntdebug.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
107 'gntidle.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
108 'gntlog.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
109 'gntmedia.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
110 'gntmenuutil.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
111 'gntnotify.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
112 'gntplugin.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
113 'gntpounce.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
114 'gntprefs.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
115 'gntrequest.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
116 'gntroomlist.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
117 'gntsound.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
118 'gntstatus.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
119 'gntui.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
120 'gntxfer.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
121 package_revision,
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
122 'libfinch.c'
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
123 ]
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
124
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
125 libfinch_headers = [
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
126 'gntaccount.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
127 'gntblist.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
128 'gntconn.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
129 'gntconv.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
130 'gntdebug.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
131 'finch.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
132 'gntidle.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
133 'gntlog.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
134 'gntmedia.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
135 'gntmenuutil.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
136 'gntnotify.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
137 'gntplugin.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
138 'gntpounce.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
139 'gntprefs.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
140 'gntrequest.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
141 'gntroomlist.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
142 'gntsound.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
143 'gntstatus.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
144 'gntui.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
145 'gntxfer.h'
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
146 ]
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
147
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
148 finch_SOURCES = [
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
149 'finch.c'
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
150 ]
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
151
38487
9e341a7537bd Use windows.compile_resources for Win32 resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38473
diff changeset
152 if IS_WIN32
39996
497dbea26009 Link Finch against winmm.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39798
diff changeset
153 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
154
38510
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
155 finch_winres = configure_file(
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
156 input : 'finch_winres.rc.in',
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
157 output : 'finch_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 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
160 libfinch_winres = configure_file(
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
161 input : 'libfinch_winres.rc.in',
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
162 output : 'libfinch_winres.rc',
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
163 configuration : version_conf)
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
164 libfinch_SOURCES += windows.compile_resources(libfinch_winres)
39996
497dbea26009 Link Finch against winmm.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39798
diff changeset
165 else
497dbea26009 Link Finch against winmm.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39798
diff changeset
166 winmm = []
38487
9e341a7537bd Use windows.compile_resources for Win32 resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38473
diff changeset
167 endif
9e341a7537bd Use windows.compile_resources for Win32 resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38473
diff changeset
168
38529
6b1f391a52ba Remove redundant option variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38518
diff changeset
169 if enable_consoleui
39451
31c873b5deaf First pass at making pidgin3 not clobber pidgin2
Gary Kramlich <grim@reaperworld.com>
parents: 39443
diff changeset
170 install_headers(libfinch_headers, subdir : 'finch-3')
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
171
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
172 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
173 libfinch = shared_library('finch3',
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
174 libfinch_SOURCES,
39618
2dad24e4bcba Enable gnt sealing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39458
diff changeset
175 c_args : ['-DSTANDALONE', '-DGNTSEAL_ENABLE', ncurses_header],
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
176 include_directories : [toplevel_inc],
38518
1c2e969922b8 Fix versioning of libraries.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38516
diff changeset
177 version : PURPLE_LIB_VERSION,
39996
497dbea26009 Link Finch against winmm.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39798
diff changeset
178 dependencies : [libpurple_dep, libgnt_dep, ncurses, glib, winmm],
38473
919d72c1c8c0 Add many missing installations to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38472
diff changeset
179 install : true)
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
180 libfinch_dep = declare_dependency(
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
181 include_directories : [toplevel_inc, libfinch_inc],
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
182 link_with : libfinch,
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
183 dependencies : [libpurple_dep, libgnt_dep, glib])
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
184
39458
037e6c7b4336 we renamed finch in the man page but not the actual executable...
Gary Kramlich <grim@reaperworld.com>
parents: 39457
diff changeset
185 finch = executable('finch3',
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
186 finch_SOURCES,
39618
2dad24e4bcba Enable gnt sealing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39458
diff changeset
187 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
188 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
189 install : true)
38462
995638b4ec74 Add finch 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: 38531
diff changeset
191 pkgconfig.generate(
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38531
diff changeset
192 name : 'Finch',
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38531
diff changeset
193 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
194 version : meson.project_version(),
39451
31c873b5deaf First pass at making pidgin3 not clobber pidgin2
Gary Kramlich <grim@reaperworld.com>
parents: 39443
diff changeset
195 filebase : 'finch-3',
31c873b5deaf First pass at making pidgin3 not clobber pidgin2
Gary Kramlich <grim@reaperworld.com>
parents: 39443
diff changeset
196 subdirs : 'finch-3',
38783
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38531
diff changeset
197 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
198 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
199 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
200
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
201 if enable_introspection
38472
1f332f8141f4 Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38470
diff changeset
202 introspection_sources = libfinch_headers
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
203
38472
1f332f8141f4 Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38470
diff changeset
204 gnome.generate_gir(libfinch,
1f332f8141f4 Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38470
diff changeset
205 sources : introspection_sources,
39798
2afb71e570af Update everything to do a full build of all subprojects.
Gary Kramlich <grim@reaperworld.com>
parents: 39630
diff changeset
206 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
207 namespace : 'Finch',
38516
dd0ddcb829b9 Make GIR outputs more consistent with autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38512
diff changeset
208 symbol_prefix : 'finch',
38472
1f332f8141f4 Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38470
diff changeset
209 identifier_prefix : 'Finch',
38516
dd0ddcb829b9 Make GIR outputs more consistent with autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38512
diff changeset
210 export_packages : 'finch',
38472
1f332f8141f4 Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38470
diff changeset
211 nsversion : '@0@.@1@'.format(purple_major_version,
1f332f8141f4 Add GIR to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38470
diff changeset
212 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
213 include_directories : [
39426
2e4f09a49404 Add fallback for gplugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39370
diff changeset
214 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
215 ],
39370
ba8bb361f1f2 Add --quiet argument to gnome.generate_gir() calls
Mike Ruprecht <cmaiku@gmail.com>
parents: 39363
diff changeset
216 install : true,
ba8bb361f1f2 Add --quiet argument to gnome.generate_gir() calls
Mike Ruprecht <cmaiku@gmail.com>
parents: 39363
diff changeset
217 extra_args : ['--quiet'])
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
218 endif
38501
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38487
diff changeset
219
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38487
diff changeset
220 subdir('plugins')
38529
6b1f391a52ba Remove redundant option variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38518
diff changeset
221 endif # enable_consoleui

mercurial