Mon, 07 Jul 2025 01:14:28 -0500
Only add the flatpak dependencies test when compiling for linux
Flatpaks only work on linux so theres no reason why we should be checking the
manifest against the sub projects we're building for non linux platforms.
Testing Done:
Called in the turtles and made sure I could run the test on debian.
Reviewed at https://reviews.imfreedom.org/r/4049/
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
1 | # UPDATING VERSION NUMBERS FOR RELEASES |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
2 | # |
|
39443
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
3 | # The version number is: |
|
40206
566c210f7003
Add PURPLE_VERSION and PURPLE_EXTRA_VERSION to libpurple/version.h and clean up some other related stuff
Gary Kramlich <grim@reaperworld.com>
parents:
40193
diff
changeset
|
4 | # <major>.<minor>.<micro><extra> |
|
39443
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
5 | # |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
6 | # micro += 1 |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
7 | # |
| 42678 | 8 | # If any functions have been added to libpurple or Pidgin: |
|
39443
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
9 | # micro = 0 |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
10 | # minor += 1 |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
11 | # |
| 42678 | 12 | # If backwards compatibility has been broken in libpurple or Pidgin: |
|
39443
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
13 | # micro = 0 |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
14 | # minor = 0 |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
15 | # major += 1 |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
16 | # purple_soversion += 1 |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
17 | # |
|
40206
566c210f7003
Add PURPLE_VERSION and PURPLE_EXTRA_VERSION to libpurple/version.h and clean up some other related stuff
Gary Kramlich <grim@reaperworld.com>
parents:
40193
diff
changeset
|
18 | # extra should be similar to one of the following: |
|
39443
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
19 | # For beta releases: '-beta2' |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
20 | # For code under development: '-devel' |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
21 | # For production releases: '' |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
22 | # |
|
43134
dd4dc828a49d
Switch the meson project name to pidgin3
Gary Kramlich <grim@reaperworld.com>
parents:
43123
diff
changeset
|
23 | project('pidgin3', 'c', |
|
43275
e0039f085810
Prepare for the next round of development
Gary Kramlich <grim@reaperworld.com>
parents:
43273
diff
changeset
|
24 | version : '2.92.2-dev', # Don't forget the metadata file! |
|
43279
83dbb4b20c99
Tell meson about our license
Gary Kramlich <grim@reaperworld.com>
parents:
43275
diff
changeset
|
25 | meson_version : '>=1.1.0', |
|
83dbb4b20c99
Tell meson about our license
Gary Kramlich <grim@reaperworld.com>
parents:
43275
diff
changeset
|
26 | license : 'GPL-2.0-or-later', |
|
83dbb4b20c99
Tell meson about our license
Gary Kramlich <grim@reaperworld.com>
parents:
43275
diff
changeset
|
27 | license_files : ['COPYING'], |
|
42073
31532581724a
Set our global C standard to C17 and warning_level to 2
Gary Kramlich <grim@reaperworld.com>
parents:
42033
diff
changeset
|
28 | default_options : ['c_std=c17', 'warning_level=2']) |
|
42010
3820d0d16092
Change the soname of libpurple to libpurple3
Gary Kramlich <grim@reaperworld.com>
parents:
41921
diff
changeset
|
29 | purple_soversion = 0 |
|
39443
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
30 | |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
31 | parts = meson.project_version().split('-') |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
32 | if parts.length() > 1 |
|
40206
566c210f7003
Add PURPLE_VERSION and PURPLE_EXTRA_VERSION to libpurple/version.h and clean up some other related stuff
Gary Kramlich <grim@reaperworld.com>
parents:
40193
diff
changeset
|
33 | purple_extra_version = parts[1] |
|
39443
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
34 | else |
|
40206
566c210f7003
Add PURPLE_VERSION and PURPLE_EXTRA_VERSION to libpurple/version.h and clean up some other related stuff
Gary Kramlich <grim@reaperworld.com>
parents:
40193
diff
changeset
|
35 | purple_extra_version = '' |
|
39443
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
36 | endif |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
37 | |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
38 | parts = parts[0].split('.') |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
39 | purple_major_version = parts[0] |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
40 | purple_minor_version = parts[1] |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
41 | purple_micro_version = parts[2] |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
42 | |
|
42980
6781522ea5f3
Add a purple_api_minor version to complement purple_api_major_version
Gary Kramlich <grim@reaperworld.com>
parents:
42978
diff
changeset
|
43 | # purple_api_major_version and purple_api_minor_version should generally match |
|
6781522ea5f3
Add a purple_api_minor version to complement purple_api_major_version
Gary Kramlich <grim@reaperworld.com>
parents:
42978
diff
changeset
|
44 | # purple_major_version and purple_minor_version. However, when working towards |
|
6781522ea5f3
Add a purple_api_minor version to complement purple_api_major_version
Gary Kramlich <grim@reaperworld.com>
parents:
42978
diff
changeset
|
45 | # a new major version, these numbers should be set to the new major and new |
|
6781522ea5f3
Add a purple_api_minor version to complement purple_api_major_version
Gary Kramlich <grim@reaperworld.com>
parents:
42978
diff
changeset
|
46 | # minor versions while the meson project version should be something |
|
42969
4132f4d92fd7
Change the version to 2.90.0 to let us do proper releases
Gary Kramlich <grim@reaperworld.com>
parents:
42953
diff
changeset
|
47 | # like 2.90.0. This allows us to get the versioning sane, while changing the |
|
4132f4d92fd7
Change the version to 2.90.0 to let us do proper releases
Gary Kramlich <grim@reaperworld.com>
parents:
42953
diff
changeset
|
48 | # major version. |
|
4132f4d92fd7
Change the version to 2.90.0 to let us do proper releases
Gary Kramlich <grim@reaperworld.com>
parents:
42953
diff
changeset
|
49 | purple_api_major_version = '3' |
|
42980
6781522ea5f3
Add a purple_api_minor version to complement purple_api_major_version
Gary Kramlich <grim@reaperworld.com>
parents:
42978
diff
changeset
|
50 | purple_api_minor_version = '0' |
|
42969
4132f4d92fd7
Change the version to 2.90.0 to let us do proper releases
Gary Kramlich <grim@reaperworld.com>
parents:
42953
diff
changeset
|
51 | |
|
42454
37bcbcd66c6f
Set our gettext package to pidgin3 so it can we can install next to pidgin2
Gary Kramlich <grim@reaperworld.com>
parents:
42410
diff
changeset
|
52 | GETTEXT_PACKAGE='pidgin3' |
|
41485
74a04628357f
Remove some no longer necessary meson options
Gary Kramlich <grim@reaperworld.com>
parents:
41402
diff
changeset
|
53 | find_program('gettext') |
|
74a04628357f
Remove some no longer necessary meson options
Gary Kramlich <grim@reaperworld.com>
parents:
41402
diff
changeset
|
54 | find_program('xgettext') |
|
40439
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40355
diff
changeset
|
55 | |
|
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40355
diff
changeset
|
56 | add_project_arguments([ |
|
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40355
diff
changeset
|
57 | '-DVERSION="@0@"'.format(meson.project_version()), |
|
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40355
diff
changeset
|
58 | '-DDISPLAY_VERSION="@0@"'.format(meson.project_version()), |
| 40481 | 59 | '-DPURPLE_WEBSITE="https://pidgin.im/"', |
|
41888
9db0b73c8fab
Take advantage of f-strings in Meson
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41887
diff
changeset
|
60 | f'-DGETTEXT_PACKAGE="@GETTEXT_PACKAGE@"'], |
|
40439
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40355
diff
changeset
|
61 | language : 'c') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
62 | conf = configuration_data() |
|
38512
a8ee459a518c
Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38510
diff
changeset
|
63 | man_conf = configuration_data() |
|
38440
98da84139485
Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38439
diff
changeset
|
64 | version_conf = configuration_data() |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
65 | |
|
40439
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40355
diff
changeset
|
66 | conf.set_quoted('GETTEXT_PACKAGE', GETTEXT_PACKAGE) |
|
39443
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
67 | conf.set_quoted('VERSION', meson.project_version()) |
|
40206
566c210f7003
Add PURPLE_VERSION and PURPLE_EXTRA_VERSION to libpurple/version.h and clean up some other related stuff
Gary Kramlich <grim@reaperworld.com>
parents:
40193
diff
changeset
|
68 | conf.set_quoted('DISPLAY_VERSION', meson.project_version()) |
|
38441
f8a1733e22bf
Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38440
diff
changeset
|
69 | |
|
42564
867b39d2bc08
Add the cpu, cpu_family, and endianness of the host machine to the about dialog
Gary Kramlich <grim@reaperworld.com>
parents:
42547
diff
changeset
|
70 | conf.set_quoted('PURPLE_BUILD_CPU', host_machine.cpu()) |
|
867b39d2bc08
Add the cpu, cpu_family, and endianness of the host machine to the about dialog
Gary Kramlich <grim@reaperworld.com>
parents:
42547
diff
changeset
|
71 | conf.set_quoted('PURPLE_BUILD_ARCHITECTURE', host_machine.cpu_family()) |
|
867b39d2bc08
Add the cpu, cpu_family, and endianness of the host machine to the about dialog
Gary Kramlich <grim@reaperworld.com>
parents:
42547
diff
changeset
|
72 | conf.set_quoted('PURPLE_BUILD_ENDIANNESS', host_machine.endian()) |
|
42886
d9d26508be61
Automatically turn on print debugging in debug builds
Gary Kramlich <grim@reaperworld.com>
parents:
42850
diff
changeset
|
73 | conf.set_quoted('PURPLE_BUILD_BUILDTYPE', get_option('buildtype')) |
|
42923
09fb857fb48c
Some random cleanup in Pidgin.Application
Gary Kramlich <grim@reaperworld.com>
parents:
42910
diff
changeset
|
74 | conf.set('PURPLE_DEBUG', get_option('debug')) |
|
42564
867b39d2bc08
Add the cpu, cpu_family, and endianness of the host machine to the about dialog
Gary Kramlich <grim@reaperworld.com>
parents:
42547
diff
changeset
|
75 | |
|
42969
4132f4d92fd7
Change the version to 2.90.0 to let us do proper releases
Gary Kramlich <grim@reaperworld.com>
parents:
42953
diff
changeset
|
76 | version_conf.set('PURPLE_API_MAJOR_VERSION', purple_api_major_version) |
|
38440
98da84139485
Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38439
diff
changeset
|
77 | version_conf.set('PURPLE_MAJOR_VERSION', purple_major_version) |
|
98da84139485
Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38439
diff
changeset
|
78 | version_conf.set('PURPLE_MINOR_VERSION', purple_minor_version) |
|
98da84139485
Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38439
diff
changeset
|
79 | version_conf.set('PURPLE_MICRO_VERSION', purple_micro_version) |
|
40206
566c210f7003
Add PURPLE_VERSION and PURPLE_EXTRA_VERSION to libpurple/version.h and clean up some other related stuff
Gary Kramlich <grim@reaperworld.com>
parents:
40193
diff
changeset
|
80 | version_conf.set('PURPLE_EXTRA_VERSION', purple_extra_version) |
|
39443
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
81 | version_conf.set('PURPLE_VERSION', meson.project_version()) |
|
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
82 | version_conf.set('PURPLE_API_VERSION', purple_soversion) |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
83 | |
|
41888
9db0b73c8fab
Take advantage of f-strings in Meson
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41887
diff
changeset
|
84 | PURPLE_LIB_VERSION = f'@purple_soversion@.@purple_minor_version@.@purple_micro_version@' |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
85 | |
|
38462
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38461
diff
changeset
|
86 | package_revision = vcs_tag( |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38461
diff
changeset
|
87 | input : 'package_revision.h.in', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38461
diff
changeset
|
88 | output : 'package_revision.h', |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38461
diff
changeset
|
89 | fallback : meson.project_version()) |
|
995638b4ec74
Add finch to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38461
diff
changeset
|
90 | |
|
42847
fbb0d252bc35
Move the documentation into more appropriate places
Gary Kramlich <grim@reaperworld.com>
parents:
42846
diff
changeset
|
91 | # Global variable for doc targets to add themselves to which we use for the |
|
fbb0d252bc35
Move the documentation into more appropriate places
Gary Kramlich <grim@reaperworld.com>
parents:
42846
diff
changeset
|
92 | # doc alias below. |
|
fbb0d252bc35
Move the documentation into more appropriate places
Gary Kramlich <grim@reaperworld.com>
parents:
42846
diff
changeset
|
93 | doc_targets = [] |
|
fbb0d252bc35
Move the documentation into more appropriate places
Gary Kramlich <grim@reaperworld.com>
parents:
42846
diff
changeset
|
94 | |
|
41066
00e6bda3ef95
Add a Meson devenv configuration.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41060
diff
changeset
|
95 | # For running `meson devenv`. |
|
00e6bda3ef95
Add a Meson devenv configuration.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41060
diff
changeset
|
96 | devenv = environment() |
|
00e6bda3ef95
Add a Meson devenv configuration.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41060
diff
changeset
|
97 | |
|
42814
59e6529a1e78
Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
98 | # Set G_ENABLE_DIAGNOSTIC so we get warnings about deprecated signals and |
|
59e6529a1e78
Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
99 | # properties. |
|
59e6529a1e78
Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
100 | devenv.set('G_ENABLE_DIAGNOSTIC', '1') |
|
59e6529a1e78
Mutliple cleanups to Purple.Message
Gary Kramlich <grim@reaperworld.com>
parents:
42678
diff
changeset
|
101 | |
|
38512
a8ee459a518c
Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38510
diff
changeset
|
102 | # For man pages. |
|
39443
5cffc7a8c5e7
Move project version into meson init.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39428
diff
changeset
|
103 | man_conf.set('VERSION', meson.project_version()) |
|
38512
a8ee459a518c
Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38510
diff
changeset
|
104 | man_conf.set('prefix', get_option('prefix')) |
|
a8ee459a518c
Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38510
diff
changeset
|
105 | |
|
38783
93d9173b62c8
Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38704
diff
changeset
|
106 | # Used for pkg-config files. |
|
93d9173b62c8
Use meson pkgconfig generator.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38704
diff
changeset
|
107 | pkgconfig = import('pkgconfig') |
|
38512
a8ee459a518c
Fix bugs in pkgconfig and man page substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38510
diff
changeset
|
108 | |
|
38538
b542a6787116
Add meson arguments to About dialog.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38537
diff
changeset
|
109 | # Storing build arguments |
|
42357
0073491e35ff
Fix postconf script when used as a subproject
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42289
diff
changeset
|
110 | meson.add_postconf_script('mkmesonconf.py', meson.project_build_root()) |
|
39947
f551e29dba6b
Bump minimum Meson to 0.47.0.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39932
diff
changeset
|
111 | conf.set('HAVE_MESON_CONFIG', true) |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
112 | |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
113 | # Checks for programs. |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
114 | compiler = meson.get_compiler('c') |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
115 | |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
116 | # Check for Sun compiler |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
117 | SUNCC = compiler.compiles('void main() {__SUNPRO_C;};') |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
118 | |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
119 | # Check for Win32 |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
120 | if host_machine.system() == 'windows' |
|
38487
9e341a7537bd
Use windows.compile_resources for Win32 resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38486
diff
changeset
|
121 | windows = import('windows') |
|
9e341a7537bd
Use windows.compile_resources for Win32 resource files.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38486
diff
changeset
|
122 | |
|
38505
34ec73e49cd8
Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38503
diff
changeset
|
123 | IS_WIN32 = true |
|
38486
046f00bc7f33
Properly search for Windows DNS/socket libraries.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38485
diff
changeset
|
124 | ws2_32 = compiler.find_library('ws2_32') |
|
046f00bc7f33
Properly search for Windows DNS/socket libraries.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38485
diff
changeset
|
125 | dnsapi = compiler.find_library('dnsapi') |
|
38441
f8a1733e22bf
Move everything to config.h as originally intended.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38440
diff
changeset
|
126 | conf.set('WIN32_LEAN_AND_MEAN', true) |
|
39087
ac9849be4a10
win32: Define libpidgin DLL name in meson to avoid needing to change it
Mike Ruprecht <cmaiku@gmail.com>
parents:
39084
diff
changeset
|
127 | |
|
43089
0e1498cd22b2
Fix DLL name for Windows loader
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42983
diff
changeset
|
128 | conf.set('LIBPIDGIN_DLL_NAMEW', f'L"libpidgin3-@purple_soversion@.dll"') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
129 | else |
|
38505
34ec73e49cd8
Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38503
diff
changeset
|
130 | IS_WIN32 = false |
|
38499
4f6cafbbf4f1
Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38497
diff
changeset
|
131 | ws2_32 = [] |
|
4f6cafbbf4f1
Replace declare_dependency() with [].
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38497
diff
changeset
|
132 | dnsapi = [] |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
133 | endif |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
134 | |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
135 | # Check for directories |
|
38505
34ec73e49cd8
Remove duplicate is_win32 variables.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38503
diff
changeset
|
136 | if IS_WIN32 |
|
39084
b3aeca5f3dac
Remove win32-dirs option
Mike Ruprecht <cmaiku@gmail.com>
parents:
39049
diff
changeset
|
137 | foreach dir : ['bin', 'lib', 'data', 'sysconf', 'locale'] |
|
40536
c0ea70247280
Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40523
diff
changeset
|
138 | path = get_option('prefix') / get_option(dir + 'dir') |
|
39084
b3aeca5f3dac
Remove win32-dirs option
Mike Ruprecht <cmaiku@gmail.com>
parents:
39049
diff
changeset
|
139 | conf.set_quoted('WIN32_FHS_@0@DIR'.format(dir.to_upper()), path) |
|
b3aeca5f3dac
Remove win32-dirs option
Mike Ruprecht <cmaiku@gmail.com>
parents:
39049
diff
changeset
|
140 | endforeach |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
141 | |
|
39084
b3aeca5f3dac
Remove win32-dirs option
Mike Ruprecht <cmaiku@gmail.com>
parents:
39049
diff
changeset
|
142 | conf.set('PURPLE_LIBDIR', |
|
42969
4132f4d92fd7
Change the version to 2.90.0 to let us do proper releases
Gary Kramlich <grim@reaperworld.com>
parents:
42953
diff
changeset
|
143 | f'wpurple_lib_dir("purple-@purple_api_major_version@")') |
|
39084
b3aeca5f3dac
Remove win32-dirs option
Mike Ruprecht <cmaiku@gmail.com>
parents:
39049
diff
changeset
|
144 | conf.set('PIDGIN_LIBDIR', |
|
42969
4132f4d92fd7
Change the version to 2.90.0 to let us do proper releases
Gary Kramlich <grim@reaperworld.com>
parents:
42953
diff
changeset
|
145 | f'wpurple_lib_dir("pidgin-@purple_api_major_version@")') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
146 | |
|
38537
cc15d8626c0d
Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38536
diff
changeset
|
147 | conf.set('PURPLE_DATADIR', 'wpurple_data_dir()') |
|
cc15d8626c0d
Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38536
diff
changeset
|
148 | conf.set('PURPLE_SYSCONFDIR', 'wpurple_sysconf_dir()') |
|
cc15d8626c0d
Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38536
diff
changeset
|
149 | conf.set('PURPLE_LOCALEDIR', 'wpurple_locale_dir()') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
150 | else |
|
38464
fbd38fefb3b3
Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38463
diff
changeset
|
151 | foreach dir : ['data', 'sysconf', 'locale'] |
|
40536
c0ea70247280
Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40523
diff
changeset
|
152 | path = get_option('prefix') / get_option(dir + 'dir') |
|
38537
cc15d8626c0d
Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38536
diff
changeset
|
153 | conf.set_quoted('PURPLE_@0@DIR'.format(dir.to_upper()), path) |
|
38464
fbd38fefb3b3
Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38463
diff
changeset
|
154 | endforeach |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
155 | |
|
40536
c0ea70247280
Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40523
diff
changeset
|
156 | common_libdir = get_option('prefix') / get_option('libdir') |
|
38537
cc15d8626c0d
Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38536
diff
changeset
|
157 | conf.set_quoted('PURPLE_LIBDIR', |
|
42969
4132f4d92fd7
Change the version to 2.90.0 to let us do proper releases
Gary Kramlich <grim@reaperworld.com>
parents:
42953
diff
changeset
|
158 | common_libdir / f'purple-@purple_api_major_version@') |
|
38537
cc15d8626c0d
Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38536
diff
changeset
|
159 | conf.set_quoted('PIDGIN_LIBDIR', |
|
42969
4132f4d92fd7
Change the version to 2.90.0 to let us do proper releases
Gary Kramlich <grim@reaperworld.com>
parents:
42953
diff
changeset
|
160 | common_libdir / f'pidgin-@purple_api_major_version@') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
161 | endif |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
162 | |
|
40536
c0ea70247280
Switch join_paths and + to /.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40523
diff
changeset
|
163 | abslibdir = get_option('prefix') / get_option('libdir') |
|
42969
4132f4d92fd7
Change the version to 2.90.0 to let us do proper releases
Gary Kramlich <grim@reaperworld.com>
parents:
42953
diff
changeset
|
164 | PURPLE_PLUGINDIR = abslibdir / f'purple-@purple_api_major_version@' |
|
38537
cc15d8626c0d
Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38536
diff
changeset
|
165 | conf.set_quoted('PURPLE_PLUGINDIR', PURPLE_PLUGINDIR) |
|
42969
4132f4d92fd7
Change the version to 2.90.0 to let us do proper releases
Gary Kramlich <grim@reaperworld.com>
parents:
42953
diff
changeset
|
166 | PIDGIN_PLUGINDIR = abslibdir / f'pidgin-@purple_api_major_version@' |
|
38537
cc15d8626c0d
Fix quoting in configuration data.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38536
diff
changeset
|
167 | conf.set_quoted('PIDGIN_PLUGINDIR', PIDGIN_PLUGINDIR) |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
168 | |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
169 | # Windows and Haiku do not use libm for the math functions, they are part |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
170 | # of the C library |
|
40669
48dfed6f4f1f
Fix Windows builds and tests
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40668
diff
changeset
|
171 | math = compiler.find_library('m', required: false) |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
172 | |
|
41319
04d027ed3d63
Add gdk-pixbuf as a libpurple dependency and move helpers from pidgin to purple
Gary Kramlich <grim@reaperworld.com>
parents:
41317
diff
changeset
|
173 | ####################################################################### |
|
43191
ba72c5b3582b
Make sure we look for gi-docgen before our other dependencies
Gary Kramlich <grim@reaperworld.com>
parents:
43189
diff
changeset
|
174 | # Documentation |
|
ba72c5b3582b
Make sure we look for gi-docgen before our other dependencies
Gary Kramlich <grim@reaperworld.com>
parents:
43189
diff
changeset
|
175 | ####################################################################### |
|
ba72c5b3582b
Make sure we look for gi-docgen before our other dependencies
Gary Kramlich <grim@reaperworld.com>
parents:
43189
diff
changeset
|
176 | if get_option('doc') and not get_option('introspection') |
|
ba72c5b3582b
Make sure we look for gi-docgen before our other dependencies
Gary Kramlich <grim@reaperworld.com>
parents:
43189
diff
changeset
|
177 | error('Documentation requires GObject Introspection.') |
|
ba72c5b3582b
Make sure we look for gi-docgen before our other dependencies
Gary Kramlich <grim@reaperworld.com>
parents:
43189
diff
changeset
|
178 | endif |
|
ba72c5b3582b
Make sure we look for gi-docgen before our other dependencies
Gary Kramlich <grim@reaperworld.com>
parents:
43189
diff
changeset
|
179 | |
|
ba72c5b3582b
Make sure we look for gi-docgen before our other dependencies
Gary Kramlich <grim@reaperworld.com>
parents:
43189
diff
changeset
|
180 | dependency( |
|
ba72c5b3582b
Make sure we look for gi-docgen before our other dependencies
Gary Kramlich <grim@reaperworld.com>
parents:
43189
diff
changeset
|
181 | 'gi-docgen', version: '>= 2025.3', |
|
ba72c5b3582b
Make sure we look for gi-docgen before our other dependencies
Gary Kramlich <grim@reaperworld.com>
parents:
43189
diff
changeset
|
182 | fallback: ['gi-docgen', 'dummy_dep'], |
|
ba72c5b3582b
Make sure we look for gi-docgen before our other dependencies
Gary Kramlich <grim@reaperworld.com>
parents:
43189
diff
changeset
|
183 | required: get_option('doc') |
|
ba72c5b3582b
Make sure we look for gi-docgen before our other dependencies
Gary Kramlich <grim@reaperworld.com>
parents:
43189
diff
changeset
|
184 | ) |
|
ba72c5b3582b
Make sure we look for gi-docgen before our other dependencies
Gary Kramlich <grim@reaperworld.com>
parents:
43189
diff
changeset
|
185 | |
|
ba72c5b3582b
Make sure we look for gi-docgen before our other dependencies
Gary Kramlich <grim@reaperworld.com>
parents:
43189
diff
changeset
|
186 | gidocgen = find_program('gi-docgen', required : get_option('doc')) |
|
ba72c5b3582b
Make sure we look for gi-docgen before our other dependencies
Gary Kramlich <grim@reaperworld.com>
parents:
43189
diff
changeset
|
187 | docs_dir = get_option('prefix') / get_option('datadir') / 'doc' |
|
ba72c5b3582b
Make sure we look for gi-docgen before our other dependencies
Gary Kramlich <grim@reaperworld.com>
parents:
43189
diff
changeset
|
188 | |
|
ba72c5b3582b
Make sure we look for gi-docgen before our other dependencies
Gary Kramlich <grim@reaperworld.com>
parents:
43189
diff
changeset
|
189 | ####################################################################### |
|
41319
04d027ed3d63
Add gdk-pixbuf as a libpurple dependency and move helpers from pidgin to purple
Gary Kramlich <grim@reaperworld.com>
parents:
41317
diff
changeset
|
190 | # Check for GLib (required) |
|
04d027ed3d63
Add gdk-pixbuf as a libpurple dependency and move helpers from pidgin to purple
Gary Kramlich <grim@reaperworld.com>
parents:
41317
diff
changeset
|
191 | ####################################################################### |
|
43136
36eba703e2b9
Add some additional methods to Purple.ProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
43134
diff
changeset
|
192 | glib = dependency('glib-2.0', version : '>= 2.80.0') |
|
41150
b60171ce4589
remove the glib version macros from internal.h to meson and make sure everything is consistent
Gary Kramlich <grim@reaperworld.com>
parents:
41142
diff
changeset
|
193 | add_project_arguments( |
|
43136
36eba703e2b9
Add some additional methods to Purple.ProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
43134
diff
changeset
|
194 | '-DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_80', |
|
36eba703e2b9
Add some additional methods to Purple.ProtocolConversation
Gary Kramlich <grim@reaperworld.com>
parents:
43134
diff
changeset
|
195 | '-DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_80', |
|
41150
b60171ce4589
remove the glib version macros from internal.h to meson and make sure everything is consistent
Gary Kramlich <grim@reaperworld.com>
parents:
41142
diff
changeset
|
196 | language : 'c',) |
|
b60171ce4589
remove the glib version macros from internal.h to meson and make sure everything is consistent
Gary Kramlich <grim@reaperworld.com>
parents:
41142
diff
changeset
|
197 | |
|
43191
ba72c5b3582b
Make sure we look for gi-docgen before our other dependencies
Gary Kramlich <grim@reaperworld.com>
parents:
43189
diff
changeset
|
198 | gio = dependency('gio-2.0') |
|
ba72c5b3582b
Make sure we look for gi-docgen before our other dependencies
Gary Kramlich <grim@reaperworld.com>
parents:
43189
diff
changeset
|
199 | gnome = import('gnome') |
|
ba72c5b3582b
Make sure we look for gi-docgen before our other dependencies
Gary Kramlich <grim@reaperworld.com>
parents:
43189
diff
changeset
|
200 | |
|
39951
e9eaaff671c9
Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39950
diff
changeset
|
201 | ####################################################################### |
|
e9eaaff671c9
Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39950
diff
changeset
|
202 | # Check for GObject Introspection |
|
e9eaaff671c9
Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39950
diff
changeset
|
203 | ####################################################################### |
|
40640
ce42c0efab90
Fix introspection meson option.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40619
diff
changeset
|
204 | if get_option('introspection') |
|
41175
372df64f6b1a
Bump minimum requirements to match GTK4
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41173
diff
changeset
|
205 | enable_introspection = dependency('gobject-introspection-1.0', version : '>= 1.39.0').found() |
|
40640
ce42c0efab90
Fix introspection meson option.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40619
diff
changeset
|
206 | else |
|
ce42c0efab90
Fix introspection meson option.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40619
diff
changeset
|
207 | enable_introspection = false |
|
ce42c0efab90
Fix introspection meson option.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40619
diff
changeset
|
208 | endif |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
209 | |
|
40197
75ffd76260fc
Bump the gtk minimum to 3.22 and remove gtk3compat.h
Gary Kramlich <grim@reaperworld.com>
parents:
40193
diff
changeset
|
210 | ####################################################################### |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
211 | # Check Pidgin dependencies |
|
40197
75ffd76260fc
Bump the gtk minimum to 3.22 and remove gtk3compat.h
Gary Kramlich <grim@reaperworld.com>
parents:
40193
diff
changeset
|
212 | ####################################################################### |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
213 | if get_option('gtkui') |
|
42251
63639da06cbd
Require GTK 4.10 and GLib 2.76
Gary Kramlich <grim@reaperworld.com>
parents:
42229
diff
changeset
|
214 | gtk = dependency('gtk4', version : '>= 4.10.0') |
|
43186
f869ebb47d88
Add basic support for libspelling
Gary Kramlich <grim@reaperworld.com>
parents:
43175
diff
changeset
|
215 | |
|
42970
365a518a6c7b
Fix Adwaita 1.6 deprecations
Markus Fischer <ivanhoe@fiscari.de>
parents:
42969
diff
changeset
|
216 | libadwaita = dependency('libadwaita-1', version : '>= 1.5') |
|
43107
43ea01e26865
Silence Adwaita deprecation warning
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
43090
diff
changeset
|
217 | add_project_arguments( |
|
43ea01e26865
Silence Adwaita deprecation warning
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
43090
diff
changeset
|
218 | '-DADW_VERSION_MIN_REQUIRED=ADW_VERSION_1_5', |
|
43ea01e26865
Silence Adwaita deprecation warning
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
43090
diff
changeset
|
219 | '-DADW_VERSION_MAX_ALLOWED=ADW_VERSION_1_5', |
|
43ea01e26865
Silence Adwaita deprecation warning
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
43090
diff
changeset
|
220 | language: 'c') |
|
43186
f869ebb47d88
Add basic support for libspelling
Gary Kramlich <grim@reaperworld.com>
parents:
43175
diff
changeset
|
221 | |
|
f869ebb47d88
Add basic support for libspelling
Gary Kramlich <grim@reaperworld.com>
parents:
43175
diff
changeset
|
222 | libspelling = dependency('libspelling-1', version : '>= 0.4.0', |
|
f869ebb47d88
Add basic support for libspelling
Gary Kramlich <grim@reaperworld.com>
parents:
43175
diff
changeset
|
223 | default_options : ['sysprof=false']) |
|
42934
36a64c2e14ce
Require Adwaita 1.4 and replace Adw.Flap with Adw.OverlaySplitView
Gary Kramlich <grim@reaperworld.com>
parents:
42923
diff
changeset
|
224 | endif |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
225 | |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
226 | ENABLE_GTK = get_option('gtkui') |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
227 | |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
228 | ####################################################################### |
|
43175
41ad34b9de13
Replace the Purple.Sqlite3 API with Seagull
Gary Kramlich <grim@reaperworld.com>
parents:
43159
diff
changeset
|
229 | # Additional Dependencies |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
230 | ####################################################################### |
|
43265
7960b5f85729
Update to birb 0.4 and use the testing helpers in libpurple
Gary Kramlich <grim@reaperworld.com>
parents:
43247
diff
changeset
|
231 | birb_dep = dependency('birb', version : '>=0.4.0') |
|
43175
41ad34b9de13
Replace the Purple.Sqlite3 API with Seagull
Gary Kramlich <grim@reaperworld.com>
parents:
43159
diff
changeset
|
232 | gdk_pixbuf = dependency('gdk-pixbuf-2.0', version : '>= 2.26.0') |
|
41ad34b9de13
Replace the Purple.Sqlite3 API with Seagull
Gary Kramlich <grim@reaperworld.com>
parents:
43159
diff
changeset
|
233 | gstreamer = dependency('gstreamer-1.0', version : '>=1.14') |
|
41ad34b9de13
Replace the Purple.Sqlite3 API with Seagull
Gary Kramlich <grim@reaperworld.com>
parents:
43159
diff
changeset
|
234 | gstreamer_app = dependency('gstreamer-app-1.0') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
235 | json = dependency('json-glib-1.0', version : '>= 0.14.0') |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
236 | |
|
41921
24e5305ebcb6
Remove soupcompat.h since we require libsoup3 now
Gary Kramlich <grim@reaperworld.com>
parents:
41913
diff
changeset
|
237 | libsoup = dependency('libsoup-3.0', version : '>= 3') |
|
24e5305ebcb6
Remove soupcompat.h since we require libsoup3 now
Gary Kramlich <grim@reaperworld.com>
parents:
41913
diff
changeset
|
238 | add_project_arguments( |
|
24e5305ebcb6
Remove soupcompat.h since we require libsoup3 now
Gary Kramlich <grim@reaperworld.com>
parents:
41913
diff
changeset
|
239 | '-DSOUP_VERSION_MIN_REQUIRED=SOUP_VERSION_3_0', |
|
24e5305ebcb6
Remove soupcompat.h since we require libsoup3 now
Gary Kramlich <grim@reaperworld.com>
parents:
41913
diff
changeset
|
240 | '-DSOUP_VERSION_MAX_ALLOWED=SOUP_VERSION_3_0', |
|
24e5305ebcb6
Remove soupcompat.h since we require libsoup3 now
Gary Kramlich <grim@reaperworld.com>
parents:
41913
diff
changeset
|
241 | language : 'c') |
|
39989
e557e081686c
Check for libsoup as a dependency.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39951
diff
changeset
|
242 | |
|
43175
41ad34b9de13
Replace the Purple.Sqlite3 API with Seagull
Gary Kramlich <grim@reaperworld.com>
parents:
43159
diff
changeset
|
243 | libxml = dependency('libxml-2.0', version : '>= 2.6.0') |
|
41ad34b9de13
Replace the Purple.Sqlite3 API with Seagull
Gary Kramlich <grim@reaperworld.com>
parents:
43159
diff
changeset
|
244 | if libxml.version().version_compare('<2.6.18') |
|
41ad34b9de13
Replace the Purple.Sqlite3 API with Seagull
Gary Kramlich <grim@reaperworld.com>
parents:
43159
diff
changeset
|
245 | message('Versions of libxml2 < 2.6.18 may contain bugs that could cause XMPP messages to be discarded.') |
|
41ad34b9de13
Replace the Purple.Sqlite3 API with Seagull
Gary Kramlich <grim@reaperworld.com>
parents:
43159
diff
changeset
|
246 | endif |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
247 | |
|
43209
9bdf60700384
Add Purple.Message:attributes
Gary Kramlich <grim@reaperworld.com>
parents:
43191
diff
changeset
|
248 | pango_dep = dependency('pango', version : '>=1.54.0') |
|
43175
41ad34b9de13
Replace the Purple.Sqlite3 API with Seagull
Gary Kramlich <grim@reaperworld.com>
parents:
43159
diff
changeset
|
249 | seagull_dep = dependency('seagull', version : '>= 0.1.1') |
|
41ad34b9de13
Replace the Purple.Sqlite3 API with Seagull
Gary Kramlich <grim@reaperworld.com>
parents:
43159
diff
changeset
|
250 | sqlite3 = dependency('sqlite3', version : '>= 3.27.0') |
|
42529
f00a798a38a6
Stub out our new modern XMPP implementation
Gary Kramlich <grim@reaperworld.com>
parents:
42520
diff
changeset
|
251 | |
|
42289
27ca1fa06a24
Require hasl 0.2.0 or newer
Gary Kramlich <grim@reaperworld.com>
parents:
42284
diff
changeset
|
252 | dependency('shoes', required : false) |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
253 | |
|
38524
4b665cbc6aa7
Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38523
diff
changeset
|
254 | add_project_arguments( |
|
4b665cbc6aa7
Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38523
diff
changeset
|
255 | '-DPURPLE_DISABLE_DEPRECATED', |
|
4b665cbc6aa7
Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38523
diff
changeset
|
256 | '-DPIDGIN_DISABLE_DEPRECATED', |
|
4b665cbc6aa7
Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38523
diff
changeset
|
257 | '-DGNT_DISABLE_DEPRECATED', |
|
4b665cbc6aa7
Actually apply deprecation flags.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38523
diff
changeset
|
258 | language : 'c') |
|
39247
ee65e9be3a5f
Don't mess with flags when using plain buildtype.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39206
diff
changeset
|
259 | if get_option('buildtype') != 'plain' and compiler.get_id() == 'gcc' |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
260 | # We enable -Wall later. |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
261 | # If it's set after the warning CFLAGS in the compiler invocation, it counteracts the -Wno... flags. |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
262 | # This leads to warnings we don't want. |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
263 | # CFLAGS=`echo $CFLAGS |$sedpath 's/-Wall//'` |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
264 | |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
265 | # ENABLE WARNINGS SUPPORTED BY THE VERSION OF GCC IN USE |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
266 | # |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
267 | # Future Possibilities |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
268 | # |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
269 | # Consider adding -Wbad-function-cast. |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
270 | # This leads to spurious warnings using GPOINTER_TO_INT(), et al. directly on a function call. |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
271 | # We'd need an intermediate variable. |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
272 | # |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
273 | foreach newflag : [ |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
274 | '-Waggregate-return', |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
275 | '-Wcast-align', |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
276 | '-Wdeclaration-after-statement', |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
277 | '-Wendif-labels', |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
278 | '-Werror-implicit-function-declaration', |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
279 | '-Wextra -Wno-unused-parameter', |
|
39109
1bb4f9bcee45
meson: Silence -Wformat-security ignored without -Wformat warning
Mike Ruprecht <cmaiku@gmail.com>
parents:
39088
diff
changeset
|
280 | '-Wformat', |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
281 | '-Wformat-security', |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
282 | '-Werror=format-security', |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
283 | '-Winit-self', |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
284 | '-Wmissing-declarations', |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
285 | '-Wmissing-noreturn', |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
286 | '-Wmissing-prototypes', |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
287 | '-Wpointer-arith', |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
288 | '-Wfloat-equal', |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
289 | '-Wundef'] |
|
38464
fbd38fefb3b3
Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38463
diff
changeset
|
290 | if compiler.has_argument(newflag) |
|
38523
2457e9c0f5de
Use add_project_arguments instead of add_global_arguments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38520
diff
changeset
|
291 | add_project_arguments(newflag, language : 'c') |
|
38464
fbd38fefb3b3
Clean up several archaic configuration attempts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38463
diff
changeset
|
292 | endif |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
293 | endforeach |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
294 | endif |
|
39247
ee65e9be3a5f
Don't mess with flags when using plain buildtype.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39206
diff
changeset
|
295 | if get_option('buildtype') != 'plain' and SUNCC |
|
38523
2457e9c0f5de
Use add_project_arguments instead of add_global_arguments.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38520
diff
changeset
|
296 | add_project_arguments('-features=extensions', language : 'c') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
297 | endif |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
298 | |
|
40989
f77cf4694364
We should be checking for the pidgin3 executable not pidgin
Gary Kramlich <grim@reaperworld.com>
parents:
40988
diff
changeset
|
299 | pidgin3path = find_program('pidgin3', required : false) |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
300 | |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
301 | ####################################################################### |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
302 | # Check for Unity and Messaging Menu |
|
38531
0b7c991bc3e4
Clean up stuff from grim's review.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38529
diff
changeset
|
303 | # Remove when Ubuntu 16.04 is EOL |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
304 | ####################################################################### |
|
39951
e9eaaff671c9
Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39950
diff
changeset
|
305 | UNITY = [ |
|
e9eaaff671c9
Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39950
diff
changeset
|
306 | dependency('unity', version : '>= 6.8', required : get_option('unity-integration')), |
|
e9eaaff671c9
Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39950
diff
changeset
|
307 | dependency('messaging-menu', version : '>= 12.10', required : get_option('unity-integration')) |
|
e9eaaff671c9
Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39950
diff
changeset
|
308 | ] |
|
e9eaaff671c9
Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39950
diff
changeset
|
309 | enable_unity = UNITY[0].found() and UNITY[1].found() |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
310 | if enable_unity |
|
38509
551e37963d38
Fix some missing substitutions.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38508
diff
changeset
|
311 | conf.set('USES_MM_CHAT_SECTION', 'X-MessagingMenu-UsesChatSection=true') |
|
38704
ba0c47533bb2
Fix Meson warning of undefined substitution.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38641
diff
changeset
|
312 | else |
|
ba0c47533bb2
Fix Meson warning of undefined substitution.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38641
diff
changeset
|
313 | conf.set('USES_MM_CHAT_SECTION', '') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
314 | endif |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
315 | |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
316 | ####################################################################### |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
317 | # Check for Secret Service headers |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
318 | ####################################################################### |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
319 | |
|
39951
e9eaaff671c9
Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39950
diff
changeset
|
320 | if IS_WIN32 |
|
41172
db38cdfbc59e
Rename the secretservice plugin to libsecret and move it into the plugins directory
Gary Kramlich <grim@reaperworld.com>
parents:
41169
diff
changeset
|
321 | libsecret = disabler() |
|
39951
e9eaaff671c9
Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39950
diff
changeset
|
322 | else |
|
41172
db38cdfbc59e
Rename the secretservice plugin to libsecret and move it into the plugins directory
Gary Kramlich <grim@reaperworld.com>
parents:
41169
diff
changeset
|
323 | libsecret = dependency('libsecret-1', required : get_option('libsecret')) |
|
38482
aeed00394acf
Update meson build to match autotools.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38480
diff
changeset
|
324 | endif |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
325 | |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
326 | ####################################################################### |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
327 | # Check for KWallet headers |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
328 | ####################################################################### |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
329 | |
|
40999
9e5a5eb54a57
bump the minimum meson to 0.56.0 and fix the deprecations
Gary Kramlich <grim@reaperworld.com>
parents:
40989
diff
changeset
|
330 | if IS_WIN32 or not add_languages('cpp', required : get_option('kwallet'), native: false) |
|
39951
e9eaaff671c9
Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39950
diff
changeset
|
331 | kwallet = disabler() |
|
e9eaaff671c9
Convert optional dependencies into Meson features.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39950
diff
changeset
|
332 | else |
|
40439
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40355
diff
changeset
|
333 | add_project_arguments([ |
|
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40355
diff
changeset
|
334 | '-DDISPLAY_VERSION="@0@"'.format(meson.project_version()), |
| 40481 | 335 | '-DPURPLE_WEBSITE="https://pidgin.im/"', |
|
41888
9db0b73c8fab
Take advantage of f-strings in Meson
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41887
diff
changeset
|
336 | f'-DGETTEXT_PACKAGE="@GETTEXT_PACKAGE@"'], |
|
40439
e9838d634d5e
Make sure that internal.h can only be included by libpurple and split out some pieces to purpleprivate.h
Gary Kramlich <grim@reaperworld.com>
parents:
40355
diff
changeset
|
337 | language : 'cpp') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
338 | |
|
42978
bf58b98751aa
bump KWallet and Qt to version 6
Markus Fischer <ivanhoe@fiscari.de>
parents:
42970
diff
changeset
|
339 | qt6 = import('qt6') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
340 | |
|
42978
bf58b98751aa
bump KWallet and Qt to version 6
Markus Fischer <ivanhoe@fiscari.de>
parents:
42970
diff
changeset
|
341 | qt6_dep = dependency('qt6', modules: ['Core'], required : get_option('kwallet')) |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
342 | |
|
42978
bf58b98751aa
bump KWallet and Qt to version 6
Markus Fischer <ivanhoe@fiscari.de>
parents:
42970
diff
changeset
|
343 | kwallet = dependency('KF6Wallet', required : get_option('kwallet')) |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
344 | endif |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
345 | |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
346 | ####################################################################### |
|
40224
6b658d1458c8
Fix a handful of issues found in review
Gary Kramlich <grim@reaperworld.com>
parents:
40219
diff
changeset
|
347 | # Check for GPlugin |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
348 | ####################################################################### |
|
42983
c65fa958d972
Update all of our subprojects
Gary Kramlich <grim@reaperworld.com>
parents:
42980
diff
changeset
|
349 | gplugin_version = ['>=0.44.2', '<0.45.0'] |
|
41056
a9447c1653a5
Convert the gplugin subproject to use the auto fallback stuff of dependency.
Gary Kramlich <grim@reaperworld.com>
parents:
41040
diff
changeset
|
350 | gplugin_dep = dependency('gplugin', |
|
41402
4f7076b8234a
Update gplugin to 0.38
Gary Kramlich <grim@reaperworld.com>
parents:
41331
diff
changeset
|
351 | version : gplugin_version, |
|
41056
a9447c1653a5
Convert the gplugin subproject to use the auto fallback stuff of dependency.
Gary Kramlich <grim@reaperworld.com>
parents:
41040
diff
changeset
|
352 | fallback : ['gplugin', 'gplugin_dep']) |
|
40216
bf78d5476c6a
initial start of moving the plugins dialog to glade
Gary Kramlich <grim@reaperworld.com>
parents:
40207
diff
changeset
|
353 | |
|
41056
a9447c1653a5
Convert the gplugin subproject to use the auto fallback stuff of dependency.
Gary Kramlich <grim@reaperworld.com>
parents:
41040
diff
changeset
|
354 | if get_option('gtkui') |
|
41518
31072565a926
And so begins the start of the GTK4 port
Gary Kramlich <grim@reaperworld.com>
parents:
41490
diff
changeset
|
355 | gplugin_gtk_dep = dependency('gplugin-gtk4', |
|
41402
4f7076b8234a
Update gplugin to 0.38
Gary Kramlich <grim@reaperworld.com>
parents:
41331
diff
changeset
|
356 | version : gplugin_version, |
|
41518
31072565a926
And so begins the start of the GTK4 port
Gary Kramlich <grim@reaperworld.com>
parents:
41490
diff
changeset
|
357 | fallback : ['gplugin-gtk4', 'gplugin_gtk4_dep']) |
|
39426
2e4f09a49404
Add fallback for gplugin.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
39419
diff
changeset
|
358 | endif |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
359 | |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
360 | ####################################################################### |
|
42110
23dae27bd7ca
Remove cyrus sasl as a dependency
Gary Kramlich <grim@reaperworld.com>
parents:
42094
diff
changeset
|
361 | # Check for Hasl |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
362 | ####################################################################### |
|
43159
2bde48da761d
Make all of the subprojects use tarballs
Gary Kramlich <grim@reaperworld.com>
parents:
43136
diff
changeset
|
363 | hasl = dependency('hasl', version : '>= 0.4.0') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
364 | |
|
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
365 | ####################################################################### |
|
41105
02c3569bc32b
Add gi-docgen as a subproject so we can convert the documentation to it
Gary Kramlich <grim@reaperworld.com>
parents:
41103
diff
changeset
|
366 | # Random Stuff |
|
02c3569bc32b
Add gi-docgen as a subproject so we can convert the documentation to it
Gary Kramlich <grim@reaperworld.com>
parents:
41103
diff
changeset
|
367 | ####################################################################### |
|
42410
563e7a17c220
Fix possible clash of config headers
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42405
diff
changeset
|
368 | # So that purpleconfig.h may be found. |
|
38440
98da84139485
Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38439
diff
changeset
|
369 | toplevel_inc = include_directories('.') |
|
98da84139485
Fix config.h usage with meson.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38439
diff
changeset
|
370 | |
|
42594
eddde70cedd8
Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents:
42581
diff
changeset
|
371 | # make sure we found our license checker script |
|
eddde70cedd8
Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents:
42581
diff
changeset
|
372 | check_license_header = find_program('./scripts/check_license_header.py', required : true) |
|
eddde70cedd8
Create a test for verifying license headers and correct the ones that were wrong
Gary Kramlich <grim@reaperworld.com>
parents:
42581
diff
changeset
|
373 | |
|
43281
0169da325b4e
Only add the flatpak dependencies test when compiling for linux
Gary Kramlich <grim@reaperworld.com>
parents:
43280
diff
changeset
|
374 | if host_machine.system() == 'linux' |
|
0169da325b4e
Only add the flatpak dependencies test when compiling for linux
Gary Kramlich <grim@reaperworld.com>
parents:
43280
diff
changeset
|
375 | check_flatpak_dependencies = find_program('./scripts/check_flatpak_dependencies.py', required : true) |
|
0169da325b4e
Only add the flatpak dependencies test when compiling for linux
Gary Kramlich <grim@reaperworld.com>
parents:
43280
diff
changeset
|
376 | test( |
|
0169da325b4e
Only add the flatpak dependencies test when compiling for linux
Gary Kramlich <grim@reaperworld.com>
parents:
43280
diff
changeset
|
377 | 'flatpak_dependencies', |
|
0169da325b4e
Only add the flatpak dependencies test when compiling for linux
Gary Kramlich <grim@reaperworld.com>
parents:
43280
diff
changeset
|
378 | check_flatpak_dependencies, |
|
0169da325b4e
Only add the flatpak dependencies test when compiling for linux
Gary Kramlich <grim@reaperworld.com>
parents:
43280
diff
changeset
|
379 | args : [ |
|
0169da325b4e
Only add the flatpak dependencies test when compiling for linux
Gary Kramlich <grim@reaperworld.com>
parents:
43280
diff
changeset
|
380 | meson.global_build_root() / 'meson-info/intro-projectinfo.json', |
|
0169da325b4e
Only add the flatpak dependencies test when compiling for linux
Gary Kramlich <grim@reaperworld.com>
parents:
43280
diff
changeset
|
381 | meson.project_source_root() / 'im.pidgin.Pidgin3.yml', |
|
0169da325b4e
Only add the flatpak dependencies test when compiling for linux
Gary Kramlich <grim@reaperworld.com>
parents:
43280
diff
changeset
|
382 | ]) |
|
0169da325b4e
Only add the flatpak dependencies test when compiling for linux
Gary Kramlich <grim@reaperworld.com>
parents:
43280
diff
changeset
|
383 | endif |
|
43280
82ae87df1639
Add a test to make sure the flatpak dependencies have been updated
Gary Kramlich <grim@reaperworld.com>
parents:
43279
diff
changeset
|
384 | |
|
82ae87df1639
Add a test to make sure the flatpak dependencies have been updated
Gary Kramlich <grim@reaperworld.com>
parents:
43279
diff
changeset
|
385 | ####################################################################### |
|
82ae87df1639
Add a test to make sure the flatpak dependencies have been updated
Gary Kramlich <grim@reaperworld.com>
parents:
43279
diff
changeset
|
386 | # Sub directories |
|
82ae87df1639
Add a test to make sure the flatpak dependencies have been updated
Gary Kramlich <grim@reaperworld.com>
parents:
43279
diff
changeset
|
387 | ####################################################################### |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
388 | subdir('libpurple') |
|
41090
741992355ead
GSoC History API including sqlite history adapter
James Culver <rewtguy@gmail.com>
parents:
41082
diff
changeset
|
389 | subdir('purple-history') |
|
38469
7e4faa3741ad
Add Pidgin to meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38468
diff
changeset
|
390 | subdir('pidgin') |
|
42529
f00a798a38a6
Stub out our new modern XMPP implementation
Gary Kramlich <grim@reaperworld.com>
parents:
42520
diff
changeset
|
391 | subdir('protocols') |
|
38515
2d4d3a8fd23c
Add documentation to Meson build.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
38512
diff
changeset
|
392 | subdir('doc') |
|
40461
25f653ee017e
Change the logic for determining whether or not to install translations
Gary Kramlich <grim@reaperworld.com>
parents:
40439
diff
changeset
|
393 | subdir('po') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
394 | |
|
42410
563e7a17c220
Fix possible clash of config headers
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42405
diff
changeset
|
395 | configure_file(output: 'purpleconfig.h', configuration: conf) |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
396 | |
|
41194
8c2b4f1de39c
Remove a no longer necessary meson version check
Gary Kramlich <grim@reaperworld.com>
parents:
41192
diff
changeset
|
397 | config_home = get_option('devenv-config-dir') |
|
8c2b4f1de39c
Remove a no longer necessary meson version check
Gary Kramlich <grim@reaperworld.com>
parents:
41192
diff
changeset
|
398 | if config_home == '' |
|
8c2b4f1de39c
Remove a no longer necessary meson version check
Gary Kramlich <grim@reaperworld.com>
parents:
41192
diff
changeset
|
399 | config_home = meson.global_build_root() / 'config' |
|
8c2b4f1de39c
Remove a no longer necessary meson version check
Gary Kramlich <grim@reaperworld.com>
parents:
41192
diff
changeset
|
400 | endif |
|
8c2b4f1de39c
Remove a no longer necessary meson version check
Gary Kramlich <grim@reaperworld.com>
parents:
41192
diff
changeset
|
401 | devenv.set('XDG_CONFIG_HOME', config_home) |
|
41066
00e6bda3ef95
Add a Meson devenv configuration.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41060
diff
changeset
|
402 | |
|
42910
0e06c220042d
Add all XDG Base Dir values to the devenv
Gary Kramlich <grim@reaperworld.com>
parents:
42886
diff
changeset
|
403 | devenv.set('XDG_CACHE_HOME', meson.global_build_root() / 'cache') |
|
0e06c220042d
Add all XDG Base Dir values to the devenv
Gary Kramlich <grim@reaperworld.com>
parents:
42886
diff
changeset
|
404 | devenv.set('XDG_DATA_HOME', meson.global_build_root() / 'share') |
|
0e06c220042d
Add all XDG Base Dir values to the devenv
Gary Kramlich <grim@reaperworld.com>
parents:
42886
diff
changeset
|
405 | devenv.set('XDG_STATE_HOME', meson.global_build_root() / 'state') |
|
0e06c220042d
Add all XDG Base Dir values to the devenv
Gary Kramlich <grim@reaperworld.com>
parents:
42886
diff
changeset
|
406 | devenv.set('XDG_RUNTIME_DIR', meson.global_build_root() / 'run') |
|
0e06c220042d
Add all XDG Base Dir values to the devenv
Gary Kramlich <grim@reaperworld.com>
parents:
42886
diff
changeset
|
407 | |
|
41194
8c2b4f1de39c
Remove a no longer necessary meson version check
Gary Kramlich <grim@reaperworld.com>
parents:
41192
diff
changeset
|
408 | meson.add_devenv(devenv) |
|
41066
00e6bda3ef95
Add a Meson devenv configuration.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41060
diff
changeset
|
409 | |
|
42183
865a36ca9b33
Add a custom target for running everything when landing a pull request
Gary Kramlich <grim@reaperworld.com>
parents:
42146
diff
changeset
|
410 | if meson.backend() == 'ninja' |
|
865a36ca9b33
Add a custom target for running everything when landing a pull request
Gary Kramlich <grim@reaperworld.com>
parents:
42146
diff
changeset
|
411 | run_target('turtles', |
|
42454
37bcbcd66c6f
Set our gettext package to pidgin3 so it can we can install next to pidgin2
Gary Kramlich <grim@reaperworld.com>
parents:
42410
diff
changeset
|
412 | command : ['ninja', '-C', '@BUILD_ROOT@', 'pidgin3-pot', 'all', 'test']) |
|
42183
865a36ca9b33
Add a custom target for running everything when landing a pull request
Gary Kramlich <grim@reaperworld.com>
parents:
42146
diff
changeset
|
413 | endif |
|
865a36ca9b33
Add a custom target for running everything when landing a pull request
Gary Kramlich <grim@reaperworld.com>
parents:
42146
diff
changeset
|
414 | |
|
42847
fbb0d252bc35
Move the documentation into more appropriate places
Gary Kramlich <grim@reaperworld.com>
parents:
42846
diff
changeset
|
415 | # doc alias target, depends on doc_targets defined above and populated in sub |
|
fbb0d252bc35
Move the documentation into more appropriate places
Gary Kramlich <grim@reaperworld.com>
parents:
42846
diff
changeset
|
416 | # directories. |
|
42850
838621d0d816
Only add the doc alias_target if we have documentation to build
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
417 | if doc_targets.length() > 0 |
|
838621d0d816
Only add the doc alias_target if we have documentation to build
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
418 | alias_target('doc', doc_targets) |
|
838621d0d816
Only add the doc alias_target if we have documentation to build
Gary Kramlich <grim@reaperworld.com>
parents:
42847
diff
changeset
|
419 | endif |
|
42847
fbb0d252bc35
Move the documentation into more appropriate places
Gary Kramlich <grim@reaperworld.com>
parents:
42846
diff
changeset
|
420 | |
|
41000
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
421 | summary({ |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
422 | 'prefix': get_option('prefix'), |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
423 | 'bindir': get_option('bindir'), |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
424 | 'libdir': get_option('libdir'), |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
425 | 'datadir': get_option('datadir'), |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
426 | }, section : 'Directories') |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
427 | |
|
41827
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41826
diff
changeset
|
428 | # TODO: Remove `.found()` once https://github.com/mesonbuild/meson/pull/10949 |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41826
diff
changeset
|
429 | # is merged and in a release that we require. |
|
41000
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
430 | summary({ |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
431 | 'GTK': get_option('gtkui'), |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
432 | }, section: 'User Interfaces', bool_yn: true) |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
433 | |
|
41827
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41826
diff
changeset
|
434 | # TODO: Remove `.found()` once https://github.com/mesonbuild/meson/pull/10949 |
|
c0c9eeca7d4b
Flatten Meson build files
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
41826
diff
changeset
|
435 | # is merged and in a release that we require. |
|
41000
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
436 | summary({ |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
437 | 'KWallet credential provider': kwallet.found(), |
|
41172
db38cdfbc59e
Rename the secretservice plugin to libsecret and move it into the plugins directory
Gary Kramlich <grim@reaperworld.com>
parents:
41169
diff
changeset
|
438 | 'libsecret credential provider': libsecret.found(), |
|
41000
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
439 | 'Unity integration': enable_unity, |
|
42520
bdd5204a9e10
Add WinCred provider to plugin support summary
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
42504
diff
changeset
|
440 | 'WinCred credential provider': IS_WIN32, |
|
41000
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
441 | }, section: 'Plugin support', bool_yn: true) |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
442 | |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
443 | summary({ |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
444 | 'Enable Introspection': enable_introspection, |
|
41105
02c3569bc32b
Add gi-docgen as a subproject so we can convert the documentation to it
Gary Kramlich <grim@reaperworld.com>
parents:
41103
diff
changeset
|
445 | 'Generate documentation': get_option('doc'), |
|
41000
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
446 | 'Has you': true, |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
447 | }, section: 'Miscellaneous', bool_yn: true) |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
448 | |
|
40989
f77cf4694364
We should be checking for the pidgin3 executable not pidgin
Gary Kramlich <grim@reaperworld.com>
parents:
40988
diff
changeset
|
449 | if pidgin3path.found() |
|
41000
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
450 | summary('You have an old copy of pidgin3 at', pidgin3path.full_path(), |
|
cb640ea0f315
Use Meson summary() function.
Elliott Sales de Andrade <quantum.analyst@gmail.com>
parents:
40999
diff
changeset
|
451 | section: 'Warnings') |
|
38439
03f1a1642a68
Add meson build for libpurple only.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
diff
changeset
|
452 | endif |