finch/meson.build

Mon, 18 Oct 2021 01:20:33 -0500

author
Gary Kramlich <grim@reaperworld.com>
date
Mon, 18 Oct 2021 01:20:33 -0500
changeset 41104
06289a48546f
parent 41059
26cbce8851e5
child 41108
294d7d9c1cd6
permissions
-rw-r--r--

Remove the existing logging code from Finch now that the History API has landed

We still need to finish integrating the History API into finch, but moving this
out of the way first will make that easier.

Testing Done:
Compiled

Reviewed at https://reviews.imfreedom.org/r/1037/

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')
41059
26cbce8851e5 Move the gnt subproject to a fallback subproject
Gary Kramlich <grim@reaperworld.com>
parents: 41057
diff changeset
3 libgnt_dep = dependency('gnt3',
26cbce8851e5 Move the gnt subproject to a fallback subproject
Gary Kramlich <grim@reaperworld.com>
parents: 41057
diff changeset
4 version : '>= 3.0.0',
26cbce8851e5 Move the gnt subproject to a fallback subproject
Gary Kramlich <grim@reaperworld.com>
parents: 41057
diff changeset
5 fallback : ['libgnt', 'libgnt_dep'])
39360
e7bed293aad5 Switch to external libgnt with fallback.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39207
diff changeset
6
39362
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
7 #######################################################################
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
8 # 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
9 # 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
10 #######################################################################
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
11 ncurses_available = true
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
12 ncurses_header = 'ncurses.h'
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
13 # 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
14 # 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
15 ncursesw_header_paths = ['', 'ncursesw/']
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 ncurses = dependency('ncursesw', required : false)
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
18 if ncurses.found()
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
19 foreach location : ncursesw_header_paths
40536
c0ea70247280 Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40509
diff changeset
20 f = location / 'ncurses.h'
39362
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
21 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
22 prefix : '#define _XOPEN_SOURCE_EXTENDED')
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
23 ncurses_header = f
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
24 endif
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
25 endforeach
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
26 else
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
27 ncurses_available = false
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
28 ncurses_inc = []
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
29 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
30 if ncurses_libs.found()
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
31 foreach location : ncursesw_header_paths
40536
c0ea70247280 Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40509
diff changeset
32 f = location / 'ncurses.h'
39362
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
33 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
34 prefix : '#define _XOPEN_SOURCE_EXTENDED')
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
35 ncurses_available = true
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
36 ncurses_header = f
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
37 endif
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
38 endforeach
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
39
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
40 if ncurses_available
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
41 ncurses = declare_dependency(
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
42 include_directories : ncurses_inc,
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
43 dependencies : ncurses_libs
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
44 )
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
45 endif
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 endif
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 not ncurses_available
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
50 # 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
51 ncurses = dependency('ncurses', required : false)
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
52 if ncurses.found()
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
53 ncurses_available = true
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
54 else
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
55 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
56 ncurses_available = ncurses_libs.found()
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
57 ncurses = declare_dependency(dependencies : ncurses_libs)
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
58 endif
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
59 endif
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
60
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
61 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
62 # Try pdcurses too.
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
63 ncurses_header = 'curses.h'
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
64 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
65 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
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
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
69 if not ncurses_available
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
70 error('ncurses could not be found!')
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
71 endif
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
72
3e92f470c176 Add explicit ncurses dependency to finch.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39360
diff changeset
73 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
74 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
75 enable_consoleui = true
70dbe96fd686 Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 38783
diff changeset
76 else
70dbe96fd686 Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 38783
diff changeset
77 error('''
70dbe96fd686 Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 38783
diff changeset
78
39360
e7bed293aad5 Switch to external libgnt with fallback.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39207
diff changeset
79 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
80
70dbe96fd686 Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 38783
diff changeset
81 ''')
70dbe96fd686 Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 38783
diff changeset
82 endif
70dbe96fd686 Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 38783
diff changeset
83 endif
70dbe96fd686 Move ncurses check into libgnt directory.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 38783
diff changeset
84
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
85
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
86 libfinch_SOURCES = [
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
87 'gntaccount.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
88 'gntblist.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
89 'gntconn.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
90 'gntconv.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
91 'gntdebug.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
92 'gntidle.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
93 'gntmedia.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
94 'gntmenuutil.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
95 'gntnotify.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
96 'gntplugin.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
97 'gntprefs.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
98 'gntrequest.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
99 'gntroomlist.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
100 'gntstatus.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
101 'gntui.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
102 'gntxfer.c',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
103 package_revision,
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
104 'libfinch.c'
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
105 ]
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
106
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
107 libfinch_headers = [
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
108 'gntaccount.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
109 'gntblist.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
110 'gntconn.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
111 'gntconv.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
112 'gntdebug.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
113 'gntidle.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
114 'gntmedia.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
115 'gntmenuutil.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
116 'gntnotify.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
117 'gntplugin.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
118 'gntprefs.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
119 'gntrequest.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
120 'gntroomlist.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
121 'gntstatus.h',
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
122 'gntui.h',
40508
2ebcb8eb5c01 create a global header for finch
Gary Kramlich <grim@reaperworld.com>
parents: 40051
diff changeset
123 'gntxfer.h',
2ebcb8eb5c01 create a global header for finch
Gary Kramlich <grim@reaperworld.com>
parents: 40051
diff changeset
124 'libfinch.h'
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
125 ]
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
126
40721
909e3433f935 Register Finch enums in the GObject type system.
Gary Kramlich <grim@reaperworld.com>
parents: 40683
diff changeset
127 libfinch_enum_headers = [
909e3433f935 Register Finch enums in the GObject type system.
Gary Kramlich <grim@reaperworld.com>
parents: 40683
diff changeset
128 'gntconv.h',
909e3433f935 Register Finch enums in the GObject type system.
Gary Kramlich <grim@reaperworld.com>
parents: 40683
diff changeset
129 ]
909e3433f935 Register Finch enums in the GObject type system.
Gary Kramlich <grim@reaperworld.com>
parents: 40683
diff changeset
130
909e3433f935 Register Finch enums in the GObject type system.
Gary Kramlich <grim@reaperworld.com>
parents: 40683
diff changeset
131 # 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
132 libfinch_built_sources = []
909e3433f935 Register Finch enums in the GObject type system.
Gary Kramlich <grim@reaperworld.com>
parents: 40683
diff changeset
133 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
134 libfinch_generated_sources = []
40721
909e3433f935 Register Finch enums in the GObject type system.
Gary Kramlich <grim@reaperworld.com>
parents: 40683
diff changeset
135
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
136 finch_SOURCES = [
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
137 'finch.c'
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
138 ]
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
139
38487
9e341a7537bd Use windows.compile_resources for Win32 resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38473
diff changeset
140 if IS_WIN32
39996
497dbea26009 Link Finch against winmm.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39798
diff changeset
141 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
142
38510
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
143 finch_winres = configure_file(
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
144 input : 'finch_winres.rc.in',
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
145 output : 'finch_winres.rc',
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
146 configuration : version_conf)
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
147 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
148 libfinch_winres = configure_file(
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
149 input : 'libfinch_winres.rc.in',
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
150 output : 'libfinch_winres.rc',
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
151 configuration : version_conf)
863a17674290 Fix creation of Windows resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38506
diff changeset
152 libfinch_SOURCES += windows.compile_resources(libfinch_winres)
39996
497dbea26009 Link Finch against winmm.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39798
diff changeset
153 else
497dbea26009 Link Finch against winmm.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39798
diff changeset
154 winmm = []
38487
9e341a7537bd Use windows.compile_resources for Win32 resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38473
diff changeset
155 endif
9e341a7537bd Use windows.compile_resources for Win32 resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38473
diff changeset
156
38529
6b1f391a52ba Remove redundant option variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38518
diff changeset
157 if enable_consoleui
40721
909e3433f935 Register Finch enums in the GObject type system.
Gary Kramlich <grim@reaperworld.com>
parents: 40683
diff changeset
158 libfinch_enums = gnome.mkenums_simple('finchenums',
909e3433f935 Register Finch enums in the GObject type system.
Gary Kramlich <grim@reaperworld.com>
parents: 40683
diff changeset
159 sources: libfinch_enum_headers)
909e3433f935 Register Finch enums in the GObject type system.
Gary Kramlich <grim@reaperworld.com>
parents: 40683
diff changeset
160 libfinch_built_sources += libfinch_enums[0]
909e3433f935 Register Finch enums in the GObject type system.
Gary Kramlich <grim@reaperworld.com>
parents: 40683
diff changeset
161 libfinch_built_headers += libfinch_enums[1]
909e3433f935 Register Finch enums in the GObject type system.
Gary Kramlich <grim@reaperworld.com>
parents: 40683
diff changeset
162
40508
2ebcb8eb5c01 create a global header for finch
Gary Kramlich <grim@reaperworld.com>
parents: 40051
diff changeset
163 FINCH_H_INCLUDES = []
40721
909e3433f935 Register Finch enums in the GObject type system.
Gary Kramlich <grim@reaperworld.com>
parents: 40683
diff changeset
164 foreach header : libfinch_headers + ['finchenums.h']
40508
2ebcb8eb5c01 create a global header for finch
Gary Kramlich <grim@reaperworld.com>
parents: 40051
diff changeset
165 FINCH_H_INCLUDES += '#include <finch/@0@>'.format(header)
2ebcb8eb5c01 create a global header for finch
Gary Kramlich <grim@reaperworld.com>
parents: 40051
diff changeset
166 endforeach
2ebcb8eb5c01 create a global header for finch
Gary Kramlich <grim@reaperworld.com>
parents: 40051
diff changeset
167 finch_h_conf = configuration_data()
2ebcb8eb5c01 create a global header for finch
Gary Kramlich <grim@reaperworld.com>
parents: 40051
diff changeset
168 finch_h_conf.set('FINCH_H_INCLUDES', '\n'.join(FINCH_H_INCLUDES))
2ebcb8eb5c01 create a global header for finch
Gary Kramlich <grim@reaperworld.com>
parents: 40051
diff changeset
169
2ebcb8eb5c01 create a global header for finch
Gary Kramlich <grim@reaperworld.com>
parents: 40051
diff changeset
170 finch_h = configure_file(input : 'finch.h.in',
2ebcb8eb5c01 create a global header for finch
Gary Kramlich <grim@reaperworld.com>
parents: 40051
diff changeset
171 output : 'finch.h',
2ebcb8eb5c01 create a global header for finch
Gary Kramlich <grim@reaperworld.com>
parents: 40051
diff changeset
172 configuration : finch_h_conf,
2ebcb8eb5c01 create a global header for finch
Gary Kramlich <grim@reaperworld.com>
parents: 40051
diff changeset
173 install : true,
40536
c0ea70247280 Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents: 40509
diff changeset
174 install_dir : get_option('includedir') / 'finch-3')
40721
909e3433f935 Register Finch enums in the GObject type system.
Gary Kramlich <grim@reaperworld.com>
parents: 40683
diff changeset
175 libfinch_built_headers += finch_h
40508
2ebcb8eb5c01 create a global header for finch
Gary Kramlich <grim@reaperworld.com>
parents: 40051
diff changeset
176
39451
31c873b5deaf First pass at making pidgin3 not clobber pidgin2
Gary Kramlich <grim@reaperworld.com>
parents: 39443
diff changeset
177 install_headers(libfinch_headers, subdir : 'finch-3')
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
178
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
179 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
180 libfinch = shared_library('finch3',
40721
909e3433f935 Register Finch enums in the GObject type system.
Gary Kramlich <grim@reaperworld.com>
parents: 40683
diff changeset
181 libfinch_SOURCES + libfinch_built_headers + libfinch_built_sources,
40508
2ebcb8eb5c01 create a global header for finch
Gary Kramlich <grim@reaperworld.com>
parents: 40051
diff changeset
182 c_args : ['-DSTANDALONE', '-DGNTSEAL_ENABLE', '-DFINCH_COMPILATION', ncurses_header],
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
183 include_directories : [toplevel_inc],
38518
1c2e969922b8 Fix versioning of libraries.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38516
diff changeset
184 version : PURPLE_LIB_VERSION,
39996
497dbea26009 Link Finch against winmm.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39798
diff changeset
185 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
186 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
187
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
188 if enable_introspection
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 introspection_sources = libfinch_headers
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
190
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
191 Finch_gir_includes = [
41059
26cbce8851e5 Move the gnt subproject to a fallback subproject
Gary Kramlich <grim@reaperworld.com>
parents: 41057
diff changeset
192 'Gnt-3.0',
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
193 'GPlugin-1.0',
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
194 # subproject needs to be before libpurple in the repo so that
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
195 # meson will use our variables and not try to discover them from
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
196 # libpurple.
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
197 libpurple_gir[0],
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
198 ]
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
199
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
200 libfinch_gir = gnome.generate_gir(libfinch,
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
201 sources : introspection_sources,
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
202 includes : Finch_gir_includes,
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
203 namespace : 'Finch',
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
204 symbol_prefix : 'finch',
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
205 identifier_prefix : 'Finch',
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
206 export_packages : 'finch',
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
207 nsversion : '@0@.@1@'.format(purple_major_version,
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 purple_minor_version),
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
209 install : true,
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
210 dependencies: [libgnt_dep, gplugin_dep],
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
211 extra_args : ['-DFINCH_COMPILATION', '--quiet'])
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
212 libfinch_generated_sources += libfinch_gir
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
213 endif
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
214
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
215 libfinch_dep = declare_dependency(
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
216 include_directories : [toplevel_inc, libfinch_inc],
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
217 link_with : libfinch,
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
218 sources: libfinch_built_headers + libfinch_generated_sources,
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
219 dependencies : [libpurple_dep, libgnt_dep, glib])
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
220
39458
037e6c7b4336 we renamed finch in the man page but not the actual executable...
Gary Kramlich <grim@reaperworld.com>
parents: 39457
diff changeset
221 finch = executable('finch3',
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
222 finch_SOURCES,
39618
2dad24e4bcba Enable gnt sealing.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 39458
diff changeset
223 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
224 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
225 install : true)
38462
995638b4ec74 Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff changeset
226
41006
a3d6a07889e7 Override the dependencies if we have a new enough meson
Gary Kramlich <grim@reaperworld.com>
parents: 40999
diff changeset
227 if meson.version().version_compare('>=0.54.0')
a3d6a07889e7 Override the dependencies if we have a new enough meson
Gary Kramlich <grim@reaperworld.com>
parents: 40999
diff changeset
228 meson.override_dependency('finch-3', libfinch_dep)
a3d6a07889e7 Override the dependencies if we have a new enough meson
Gary Kramlich <grim@reaperworld.com>
parents: 40999
diff changeset
229 endif
a3d6a07889e7 Override the dependencies if we have a new enough meson
Gary Kramlich <grim@reaperworld.com>
parents: 40999
diff changeset
230
38783
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38531
diff changeset
231 pkgconfig.generate(
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38531
diff changeset
232 name : 'Finch',
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38531
diff changeset
233 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
234 version : meson.project_version(),
39451
31c873b5deaf First pass at making pidgin3 not clobber pidgin2
Gary Kramlich <grim@reaperworld.com>
parents: 39443
diff changeset
235 filebase : 'finch-3',
31c873b5deaf First pass at making pidgin3 not clobber pidgin2
Gary Kramlich <grim@reaperworld.com>
parents: 39443
diff changeset
236 subdirs : 'finch-3',
38783
93d9173b62c8 Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38531
diff changeset
237 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
238 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
239 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
240
38501
c406bd8ef671 Fix Meson builds when everything is disabled.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38487
diff changeset
241 subdir('plugins')
38529
6b1f391a52ba Remove redundant option variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 38518
diff changeset
242 endif # enable_consoleui

mercurial