summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--finch/meson.build300
-rw-r--r--libpurple/plugins/kwallet/meson.build32
-rw-r--r--libpurple/plugins/libsecret/meson.build14
-rw-r--r--libpurple/plugins/meson.build4
-rw-r--r--libpurple/protocols/zephyr/meson.build2
-rw-r--r--meson.build11
-rw-r--r--pidgin/meson.build240
-rw-r--r--pidgin/plugins/meson.build4
8 files changed, 298 insertions, 309 deletions
diff --git a/finch/meson.build b/finch/meson.build
index b2e44d69b9..e6b7bcca12 100644
--- a/finch/meson.build
+++ b/finch/meson.build
@@ -1,87 +1,81 @@
enable_consoleui = false
-if get_option('consoleui')
- libgnt_dep = dependency('gnt3',
- version : '>= 3.0.0',
- fallback : ['libgnt', 'libgnt_dep'])
-
- #######################################################################
- # Check for ncurses and other things used by it
- # FIXME: This should be temporary until libgnt wraps the functionality.
- #######################################################################
- ncurses_available = true
- ncurses_header = 'ncurses.h'
- # Some distros put the headers in ncursesw/, some don't. These are ordered to
- # pick the last available as most-specific version.
- ncursesw_header_paths = ['', 'ncursesw/']
-
- ncurses = dependency('ncursesw', required : false)
- if ncurses.found()
+if not get_option('consoleui')
+ subdir_done()
+endif
+
+libgnt_dep = dependency('gnt3',
+ version : '>= 3.0.0',
+ fallback : ['libgnt', 'libgnt_dep'])
+
+#######################################################################
+# Check for ncurses and other things used by it
+# FIXME: This should be temporary until libgnt wraps the functionality.
+#######################################################################
+ncurses_available = true
+ncurses_header = 'ncurses.h'
+# Some distros put the headers in ncursesw/, some don't. These are ordered to
+# pick the last available as most-specific version.
+ncursesw_header_paths = ['', 'ncursesw/']
+
+ncurses = dependency('ncursesw', required : false)
+if ncurses.found()
+ foreach location : ncursesw_header_paths
+ f = location / 'ncurses.h'
+ if compiler.has_header_symbol(f, 'get_wch',
+ prefix : '#define _XOPEN_SOURCE_EXTENDED')
+ ncurses_header = f
+ endif
+ endforeach
+else
+ ncurses_available = false
+ ncurses_inc = []
+ ncurses_libs = compiler.find_library('ncursesw', required : false)
+ if ncurses_libs.found()
foreach location : ncursesw_header_paths
f = location / 'ncurses.h'
if compiler.has_header_symbol(f, 'get_wch',
prefix : '#define _XOPEN_SOURCE_EXTENDED')
+ ncurses_available = true
ncurses_header = f
endif
endforeach
- else
- ncurses_available = false
- ncurses_inc = []
- ncurses_libs = compiler.find_library('ncursesw', required : false)
- if ncurses_libs.found()
- foreach location : ncursesw_header_paths
- f = location / 'ncurses.h'
- if compiler.has_header_symbol(f, 'get_wch',
- prefix : '#define _XOPEN_SOURCE_EXTENDED')
- ncurses_available = true
- ncurses_header = f
- endif
- endforeach
-
- if ncurses_available
- ncurses = declare_dependency(
- include_directories : ncurses_inc,
- dependencies : ncurses_libs
- )
- endif
- endif
- endif
- if not ncurses_available
- # ncursesw was not found. Look for plain old ncurses
- ncurses = dependency('ncurses', required : false)
- if ncurses.found()
- ncurses_available = true
- else
- ncurses_libs = compiler.find_library('ncurses', required : false)
- ncurses_available = ncurses_libs.found()
- ncurses = declare_dependency(dependencies : ncurses_libs)
+ if ncurses_available
+ ncurses = declare_dependency(
+ include_directories : ncurses_inc,
+ dependencies : ncurses_libs
+ )
endif
endif
+endif
- if not ncurses_available and host_machine.system() == 'windows'
- # Try pdcurses too.
- ncurses_header = 'curses.h'
- ncurses_libs = compiler.find_library('pdcurses', required : false)
- ncurses_available = compiler.has_header(ncurses_header) and ncurses_libs.found()
+if not ncurses_available
+ # ncursesw was not found. Look for plain old ncurses
+ ncurses = dependency('ncurses', required : false)
+ if ncurses.found()
+ ncurses_available = true
+ else
+ ncurses_libs = compiler.find_library('ncurses', required : false)
+ ncurses_available = ncurses_libs.found()
ncurses = declare_dependency(dependencies : ncurses_libs)
endif
+endif
- if not ncurses_available
- error('ncurses could not be found!')
- endif
-
- if libgnt_dep.found() and ncurses_available
- ncurses_header = '-DNCURSES_HEADER="@0@"'.format(ncurses_header)
- enable_consoleui = true
- else
- error('''
-
-Finch will not be built. You need to install libgnt (or its requirements) and its development headers.
+if not ncurses_available and host_machine.system() == 'windows'
+ # Try pdcurses too.
+ ncurses_header = 'curses.h'
+ ncurses_libs = compiler.find_library('pdcurses', required : false)
+ ncurses_available = compiler.has_header(ncurses_header) and ncurses_libs.found()
+ ncurses = declare_dependency(dependencies : ncurses_libs)
+endif
-''')
- endif
+if not ncurses_available
+ error('ncurses could not be found!')
endif
+ncurses_header = '-DNCURSES_HEADER="@0@"'.format(ncurses_header)
+enable_consoleui = true
+
libfinch_SOURCES = [
'finchnotifications.c',
@@ -156,92 +150,90 @@ else
winmm = []
endif
-if enable_consoleui
- libfinch_enums = gnome.mkenums_simple('finchenums',
- sources: libfinch_enum_headers)
- libfinch_built_sources += libfinch_enums[0]
- libfinch_built_headers += libfinch_enums[1]
-
- FINCH_H_INCLUDES = []
- foreach header : libfinch_headers + ['finchenums.h']
- FINCH_H_INCLUDES += '#include <finch/@0@>'.format(header)
- endforeach
- finch_h_conf = configuration_data()
- finch_h_conf.set('FINCH_H_INCLUDES', '\n'.join(FINCH_H_INCLUDES))
-
- finch_h = configure_file(input : 'finch.h.in',
- output : 'finch.h',
- configuration : finch_h_conf,
- install : true,
- install_dir : get_option('includedir') / 'finch-3')
- libfinch_built_headers += finch_h
-
- install_headers(libfinch_headers, subdir : 'finch-3')
-
- libfinch_inc = include_directories('.')
- libfinch = shared_library('finch3',
- libfinch_SOURCES + libfinch_built_headers + libfinch_built_sources,
- c_args : [
- '-DSTANDALONE',
- '-DGNTSEAL_ENABLE',
- '-DFINCH_COMPILATION',
- ncurses_header,
- '-DG_LOG_USE_STRUCTURED',
- '-DG_LOG_DOMAIN="Finch"',
- ],
- include_directories : [toplevel_inc],
- version : PURPLE_LIB_VERSION,
- dependencies : [libpurple_dep, libgnt_dep, ncurses, glib, winmm],
- install : true)
-
- if enable_introspection
- introspection_sources = libfinch_headers
-
- libfinch_gir = gnome.generate_gir(libfinch,
- sources : introspection_sources,
- header : 'finch.h',
- includes : ['GLib-2.0', 'GModule-2.0', 'GObject-2.0', libpurple_gir[0], 'Gnt-3.0'],
- namespace : 'Finch',
- symbol_prefix : 'finch',
- identifier_prefix : 'Finch',
- export_packages : 'finch-3',
- nsversion : '@0@.@1@'.format(purple_major_version,
- purple_minor_version),
- dependencies: [libgnt_dep, gplugin_dep, libpurple_dep],
- install : true,
- extra_args : ['-DFINCH_COMPILATION', '--quiet'])
- libfinch_generated_sources += libfinch_gir
- endif
+libfinch_enums = gnome.mkenums_simple('finchenums',
+ sources: libfinch_enum_headers)
+libfinch_built_sources += libfinch_enums[0]
+libfinch_built_headers += libfinch_enums[1]
+
+FINCH_H_INCLUDES = []
+foreach header : libfinch_headers + ['finchenums.h']
+ FINCH_H_INCLUDES += '#include <finch/@0@>'.format(header)
+endforeach
+finch_h_conf = configuration_data()
+finch_h_conf.set('FINCH_H_INCLUDES', '\n'.join(FINCH_H_INCLUDES))
+
+finch_h = configure_file(input : 'finch.h.in',
+ output : 'finch.h',
+ configuration : finch_h_conf,
+ install : true,
+ install_dir : get_option('includedir') / 'finch-3')
+libfinch_built_headers += finch_h
+
+install_headers(libfinch_headers, subdir : 'finch-3')
+
+libfinch_inc = include_directories('.')
+libfinch = shared_library('finch3',
+ libfinch_SOURCES + libfinch_built_headers + libfinch_built_sources,
+ c_args : [
+ '-DSTANDALONE',
+ '-DGNTSEAL_ENABLE',
+ '-DFINCH_COMPILATION',
+ ncurses_header,
+ '-DG_LOG_USE_STRUCTURED',
+ '-DG_LOG_DOMAIN="Finch"',
+ ],
+ include_directories : [toplevel_inc],
+ version : PURPLE_LIB_VERSION,
+ dependencies : [libpurple_dep, libgnt_dep, ncurses, glib, winmm],
+ install : true)
+
+if enable_introspection
+ introspection_sources = libfinch_headers
+
+ libfinch_gir = gnome.generate_gir(libfinch,
+ sources : introspection_sources,
+ header : 'finch.h',
+ includes : ['GLib-2.0', 'GModule-2.0', 'GObject-2.0', libpurple_gir[0], 'Gnt-3.0'],
+ namespace : 'Finch',
+ symbol_prefix : 'finch',
+ identifier_prefix : 'Finch',
+ export_packages : 'finch-3',
+ nsversion : '@0@.@1@'.format(purple_major_version,
+ purple_minor_version),
+ dependencies: [libgnt_dep, gplugin_dep, libpurple_dep],
+ install : true,
+ extra_args : ['-DFINCH_COMPILATION', '--quiet'])
+ libfinch_generated_sources += libfinch_gir
+endif
- libfinch_dep = declare_dependency(
- include_directories : [toplevel_inc, libfinch_inc],
- link_with : libfinch,
- sources: libfinch_built_headers + libfinch_generated_sources,
- dependencies : [libpurple_dep, libgnt_dep, glib])
-
- finch = executable('finch3',
- finch_SOURCES,
- c_args : [
- '-DSTANDALONE',
- '-DGNTSEAL_ENABLE',
- '-DG_LOG_USE_STRUCTURED',
- '-DG_LOG_DOMAIN="Finch"',
- ],
- dependencies : [libpurple_dep, libgnt_dep, libfinch_dep],
- install : true)
-
- meson.override_dependency('finch-3', libfinch_dep)
-
- pkgconfig.generate(
- libfinch,
- name : 'Finch',
- description : 'Finch is an instant messenger application that uses libpurple for protocol support and ncurses (libgnt) for the UI.',
- version : meson.project_version(),
- filebase : 'finch-3',
- subdirs : 'finch-3',
- # NOTE: Don't use gnt from pkgconfig, as it might be a subproject.
- requires : ['gnt', libpurple],
- variables : ['plugindir=${libdir}/finch-@0@'.format(purple_major_version)])
-
- subdir('plugins')
-endif # enable_consoleui
+libfinch_dep = declare_dependency(
+ include_directories : [toplevel_inc, libfinch_inc],
+ link_with : libfinch,
+ sources: libfinch_built_headers + libfinch_generated_sources,
+ dependencies : [libpurple_dep, libgnt_dep, glib])
+
+finch = executable('finch3',
+ finch_SOURCES,
+ c_args : [
+ '-DSTANDALONE',
+ '-DGNTSEAL_ENABLE',
+ '-DG_LOG_USE_STRUCTURED',
+ '-DG_LOG_DOMAIN="Finch"',
+ ],
+ dependencies : [libpurple_dep, libgnt_dep, libfinch_dep],
+ install : true)
+
+meson.override_dependency('finch-3', libfinch_dep)
+
+pkgconfig.generate(
+ libfinch,
+ name : 'Finch',
+ description : 'Finch is an instant messenger application that uses libpurple for protocol support and ncurses (libgnt) for the UI.',
+ version : meson.project_version(),
+ filebase : 'finch-3',
+ subdirs : 'finch-3',
+ # NOTE: Don't use gnt from pkgconfig, as it might be a subproject.
+ requires : ['gnt', libpurple],
+ variables : ['plugindir=${libdir}/finch-@0@'.format(purple_major_version)])
+
+subdir('plugins')
diff --git a/libpurple/plugins/kwallet/meson.build b/libpurple/plugins/kwallet/meson.build
index f599bc9b94..4afc22616d 100644
--- a/libpurple/plugins/kwallet/meson.build
+++ b/libpurple/plugins/kwallet/meson.build
@@ -1,20 +1,18 @@
-if kwallet.found()
- kwallet_moc = qt5.preprocess(
- moc_headers: 'purplekwallet.h',
- dependencies: qt5_dep,
- )
+kwallet_moc = qt5.preprocess(
+ moc_headers: 'purplekwallet.h',
+ dependencies: qt5_dep,
+)
- kwallet_sources = [
- 'purplekwallet.cpp',
- 'purplekwallet.h',
- kwallet_moc,
- ]
+kwallet_sources = [
+ 'purplekwallet.cpp',
+ 'purplekwallet.h',
+ kwallet_moc,
+]
- kwallet_plugin = library('purplekwallet', kwallet_sources,
- c_args : ['-DG_LOG_USE_STRUCTURED', '-DG_LOG_DOMAIN="Purple-KWalletKeyring"'],
- dependencies : [kwallet, qt5_dep, libpurple_dep],
- name_prefix : '',
- install : true, install_dir : PURPLE_PLUGINDIR)
+kwallet_plugin = library('purplekwallet', kwallet_sources,
+ c_args : ['-DG_LOG_USE_STRUCTURED', '-DG_LOG_DOMAIN="Purple-KWalletKeyring"'],
+ dependencies : [kwallet, qt5_dep, libpurple_dep],
+ name_prefix : '',
+ install : true, install_dir : PURPLE_PLUGINDIR)
- devenv.append('PURPLE_PLUGIN_PATH', meson.current_build_dir())
-endif
+devenv.append('PURPLE_PLUGIN_PATH', meson.current_build_dir())
diff --git a/libpurple/plugins/libsecret/meson.build b/libpurple/plugins/libsecret/meson.build
index edeec22c32..38ddf9253f 100644
--- a/libpurple/plugins/libsecret/meson.build
+++ b/libpurple/plugins/libsecret/meson.build
@@ -1,9 +1,7 @@
-if libsecret.found()
- libsecret_plugin = library('libsecret', 'libsecret.c',
- c_args : ['-DG_LOG_USE_STRUCTURED', '-DG_LOG_DOMAIN="Purple-LibSecret"'],
- dependencies : [libsecret, libpurple_dep],
- name_prefix : '',
- install : true, install_dir : PURPLE_PLUGINDIR)
+libsecret_plugin = library('libsecret', 'libsecret.c',
+ c_args : ['-DG_LOG_USE_STRUCTURED', '-DG_LOG_DOMAIN="Purple-LibSecret"'],
+ dependencies : [libsecret, libpurple_dep],
+ name_prefix : '',
+ install : true, install_dir : PURPLE_PLUGINDIR)
- devenv.append('PURPLE_PLUGIN_PATH', meson.current_build_dir())
-endif
+devenv.append('PURPLE_PLUGIN_PATH', meson.current_build_dir())
diff --git a/libpurple/plugins/meson.build b/libpurple/plugins/meson.build
index 5e3d2035f3..b4599b4da8 100644
--- a/libpurple/plugins/meson.build
+++ b/libpurple/plugins/meson.build
@@ -3,8 +3,8 @@ subdir('buddynote')
subdir('idle')
subdir('joinpart')
subdir('keychain-access')
-subdir('kwallet')
-subdir('libsecret')
+subdir('kwallet', if_found : kwallet)
+subdir('libsecret', if_found : libsecret)
subdir('notification-sound')
subdir('psychic')
subdir('purple-toast')
diff --git a/libpurple/protocols/zephyr/meson.build b/libpurple/protocols/zephyr/meson.build
index 71582e2b2e..84f8c66ea2 100644
--- a/libpurple/protocols/zephyr/meson.build
+++ b/libpurple/protocols/zephyr/meson.build
@@ -63,7 +63,7 @@ ZEPHYR_SOURCES = [
]
extdep = krb4
-if EXTERNAL_LIBZEPHYR
+if ext_zephyr.found()
extdep = ext_zephyr
else
ZEPHYR_SOURCES += ZEPHYR_INTERNAL_SOURCES
diff --git a/meson.build b/meson.build
index 1de1bd8d4f..d9cb48373c 100644
--- a/meson.build
+++ b/meson.build
@@ -547,8 +547,7 @@ sasl = dependency('libsasl2', version : '>= 2.0')
# Check for external libzephyr
#######################################################################
ext_zephyr = dependency('zephyr', required : get_option('zephyr'))
-EXTERNAL_LIBZEPHYR = ext_zephyr.found()
-conf.set('LIBZEPHYR_EXT', EXTERNAL_LIBZEPHYR)
+conf.set('LIBZEPHYR_EXT', ext_zephyr.found())
#######################################################################
# Check for Kerberos (for Zephyr)
@@ -668,6 +667,8 @@ summary({
'datadir': get_option('datadir'),
}, section : 'Directories')
+# TODO: Remove `.found()` once https://github.com/mesonbuild/meson/pull/10949
+# is merged and in a release that we require.
summary({
'GTK': get_option('gtkui'),
'console': enable_consoleui,
@@ -676,11 +677,13 @@ summary({
summary({
'Dynamic protocols': DYNAMIC_PRPLS,
- 'Cyrus SASL support (IRC and XMPP)': sasl.found(),
- 'External libzephyr': EXTERNAL_LIBZEPHYR,
+ 'Cyrus SASL support (IRC and XMPP)': sasl,
+ 'External libzephyr': ext_zephyr,
'Use kerberos 4 with zephyr': kerberos,
}, section: 'Protocol Support', bool_yn: true, list_sep: ', ')
+# TODO: Remove `.found()` once https://github.com/mesonbuild/meson/pull/10949
+# is merged and in a release that we require.
summary({
'KWallet credential provider': kwallet.found(),
'libsecret credential provider': libsecret.found(),
diff --git a/pidgin/meson.build b/pidgin/meson.build
index eefd9b8ae4..36804183d8 100644
--- a/pidgin/meson.build
+++ b/pidgin/meson.build
@@ -1,3 +1,7 @@
+if not ENABLE_GTK
+ subdir_done()
+endif
+
libpidgin_SOURCES = [
'gtkaccount.c',
'gtkblist.c',
@@ -167,6 +171,14 @@ if IS_WIN32
'win32/gtkwin32dep.c',
]
+ pidgin_dll_rc = configure_file(
+ input : 'win32/pidgin_dll_rc.rc.in',
+ output : 'pidgin_dll_rc.rc',
+ configuration : version_conf)
+ libpidgin_SOURCES += windows.compile_resources(pidgin_dll_rc,
+ include_directories : include_directories('win32')
+ )
+
pidgin_exe_rc = configure_file(
input : 'win32/pidgin_exe_rc.rc.in',
output : 'pidgin_exe_rc.rc',
@@ -179,137 +191,125 @@ if IS_WIN32
]
endif
-if ENABLE_GTK
- if IS_WIN32
- pidgin_dll_rc = configure_file(
- input : 'win32/pidgin_dll_rc.rc.in',
- output : 'pidgin_dll_rc.rc',
- configuration : version_conf)
- libpidgin_SOURCES += windows.compile_resources(pidgin_dll_rc,
- include_directories : include_directories('win32')
- )
- endif
-
- libpidgin_enums = gnome.mkenums_simple('pidginenums',
- sources: libpidgin_enum_headers,
- install_header: true,
- install_dir: get_option('includedir') / pidgin_include_base)
- libpidgin_enums_c = libpidgin_enums[0]
- libpidgin_enums_h = libpidgin_enums[1]
+libpidgin_enums = gnome.mkenums_simple('pidginenums',
+ sources: libpidgin_enum_headers,
+ install_header: true,
+ install_dir: get_option('includedir') / pidgin_include_base)
+libpidgin_enums_c = libpidgin_enums[0]
+libpidgin_enums_h = libpidgin_enums[1]
- PIDGIN_H_INCLUDES = []
- foreach header : libpidgin_headers + libpidgin_prefs_headers + ['pidginenums.h']
- PIDGIN_H_INCLUDES += '#include <pidgin/@0@>'.format(header)
- endforeach
- pidgin_h_conf = configuration_data()
- pidgin_h_conf.set('PIDGIN_H_INCLUDES', '\n'.join(PIDGIN_H_INCLUDES))
- pidgin_h = configure_file(input : 'pidgin.h.in',
- output : 'pidgin.h',
- configuration : pidgin_h_conf,
- install : true,
- install_dir : get_option('includedir') / pidgin_filebase)
+PIDGIN_H_INCLUDES = []
+foreach header : libpidgin_headers + libpidgin_prefs_headers + ['pidginenums.h']
+ PIDGIN_H_INCLUDES += '#include <pidgin/@0@>'.format(header)
+endforeach
+pidgin_h_conf = configuration_data()
+pidgin_h_conf.set('PIDGIN_H_INCLUDES', '\n'.join(PIDGIN_H_INCLUDES))
+pidgin_h = configure_file(input : 'pidgin.h.in',
+ output : 'pidgin.h',
+ configuration : pidgin_h_conf,
+ install : true,
+ install_dir : get_option('includedir') / pidgin_filebase)
- install_headers(libpidgin_headers, subdir : pidgin_include_base)
- install_headers(libpidgin_prefs_headers, subdir : pidgin_include_base / 'prefs')
+install_headers(libpidgin_headers, subdir : pidgin_include_base)
+install_headers(libpidgin_prefs_headers, subdir : pidgin_include_base / 'prefs')
- _libpidgin_dependencies = [
- glib,
- gplugin_gtk_dep,
- gtk,
- IOKIT,
- json,
- libadwaita,
- math,
- libsoup,
- talkatu_dep,
- libpurple_dep,
- ]
+_libpidgin_dependencies = [
+ glib,
+ gplugin_gtk_dep,
+ gtk,
+ IOKIT,
+ json,
+ libadwaita,
+ math,
+ libsoup,
+ talkatu_dep,
+ libpurple_dep,
+]
- libpidgin_built_sources = [
- libpidgin_enums_c,
- ]
+libpidgin_built_sources = [
+ libpidgin_enums_c,
+]
- libpidgin_built_headers = [
- pidgin_h,
- libpidgin_enums_h,
- ]
+libpidgin_built_headers = [
+ pidgin_h,
+ libpidgin_enums_h,
+]
- libpidgin_inc = include_directories('.')
- libpidgin = shared_library('pidgin3',
- libpidgin_SOURCES + libpidgin_built_sources + libpidgin_built_headers + ['pidginprivate.h'],
- package_revision,
- c_args : ['-DPIDGIN_COMPILATION', '-DG_LOG_USE_STRUCTURED', '-DG_LOG_DOMAIN="Pidgin"'],
- include_directories : [toplevel_inc, include_directories('prefs')],
- version : PURPLE_LIB_VERSION,
- dependencies : _libpidgin_dependencies,
- install : true)
- libpidgin_dep = declare_dependency(
- include_directories : [toplevel_inc, libpidgin_inc],
- link_with : libpidgin,
- sources : libpidgin_built_headers,
- dependencies : [gtk, glib, libadwaita, math, talkatu_dep, gplugin_gtk_dep])
+libpidgin_inc = include_directories('.')
+libpidgin = shared_library('pidgin3',
+ libpidgin_SOURCES + libpidgin_built_sources + libpidgin_built_headers + ['pidginprivate.h'],
+ package_revision,
+ c_args : ['-DPIDGIN_COMPILATION', '-DG_LOG_USE_STRUCTURED', '-DG_LOG_DOMAIN="Pidgin"'],
+ include_directories : [toplevel_inc, include_directories('prefs')],
+ version : PURPLE_LIB_VERSION,
+ dependencies : _libpidgin_dependencies,
+ install : true)
+libpidgin_dep = declare_dependency(
+ include_directories : [toplevel_inc, libpidgin_inc],
+ link_with : libpidgin,
+ sources : libpidgin_built_headers,
+ dependencies : [gtk, glib, libadwaita, math, talkatu_dep, gplugin_gtk_dep])
- pidgin = executable('pidgin3',
- pidgin_SOURCES,
- c_args : ['-DPIDGIN_COMPILATION', '-DG_LOG_USE_STRUCTURED', '-DG_LOG_DOMAIN="Pidgin"'],
- include_directories : toplevel_inc,
- dependencies : IS_WIN32 ? [] : [libpurple_dep, libpidgin_dep],
- win_subsystem : 'windows',
- install : true)
+pidgin = executable('pidgin3',
+ pidgin_SOURCES,
+ c_args : ['-DPIDGIN_COMPILATION', '-DG_LOG_USE_STRUCTURED', '-DG_LOG_DOMAIN="Pidgin"'],
+ include_directories : toplevel_inc,
+ dependencies : IS_WIN32 ? [] : [libpurple_dep, libpidgin_dep],
+ win_subsystem : 'windows',
+ install : true)
- meson.override_dependency(pidgin_filebase, libpidgin_dep)
+meson.override_dependency(pidgin_filebase, libpidgin_dep)
- pkgconfig.generate(
- libpidgin,
- name : 'Pidgin',
- description : 'Pidgin is a GTK based instant messenger application.',
- version : meson.project_version(),
- filebase : pidgin_filebase,
- subdirs : pidgin_filebase,
- # NOTE: Don't use dependencies from subprojects.
- requires : [gtk, libadwaita, libpurple, 'talkatu', 'gplugin-gtk4'],
- variables : ['plugindir=${libdir}/pidgin-@0@'.format(purple_major_version)])
+pkgconfig.generate(
+ libpidgin,
+ name : 'Pidgin',
+ description : 'Pidgin is a GTK based instant messenger application.',
+ version : meson.project_version(),
+ filebase : pidgin_filebase,
+ subdirs : pidgin_filebase,
+ # NOTE: Don't use dependencies from subprojects.
+ requires : [gtk, libadwaita, libpurple, 'talkatu', 'gplugin-gtk4'],
+ variables : ['plugindir=${libdir}/pidgin-@0@'.format(purple_major_version)])
- PIDGIN_DESKTOP_FILE = 'im.pidgin.Pidgin3.desktop'
- i18n = import('i18n')
- desktop_file_in = configure_file(
- input : 'data' / (PIDGIN_DESKTOP_FILE + '.in.in'),
- output : PIDGIN_DESKTOP_FILE + '.in',
- configuration : conf)
- desktop_file = i18n.merge_file(
- input : desktop_file_in,
- output : PIDGIN_DESKTOP_FILE,
- po_dir : meson.project_source_root() / 'po',
- type : 'desktop',
- install : true,
- install_dir : get_option('datadir') / 'applications')
+PIDGIN_DESKTOP_FILE = 'im.pidgin.Pidgin3.desktop'
+i18n = import('i18n')
+desktop_file_in = configure_file(
+ input : 'data' / (PIDGIN_DESKTOP_FILE + '.in.in'),
+ output : PIDGIN_DESKTOP_FILE + '.in',
+ configuration : conf)
+desktop_file = i18n.merge_file(
+ input : desktop_file_in,
+ output : PIDGIN_DESKTOP_FILE,
+ po_dir : meson.project_source_root() / 'po',
+ type : 'desktop',
+ install : true,
+ install_dir : get_option('datadir') / 'applications')
- appdata = i18n.merge_file(
- input : 'data/im.pidgin.Pidgin3.appdata.xml.in',
- output : 'im.pidgin.Pidgin3.appdata.xml',
- po_dir : meson.project_source_root() / 'po',
- install : true,
- install_dir : get_option('datadir') / 'metainfo')
+appdata = i18n.merge_file(
+ input : 'data/im.pidgin.Pidgin3.appdata.xml.in',
+ output : 'im.pidgin.Pidgin3.appdata.xml',
+ po_dir : meson.project_source_root() / 'po',
+ install : true,
+ install_dir : get_option('datadir') / 'metainfo')
- if enable_introspection
- introspection_sources = libpidgin_SOURCES + libpidgin_headers + libpidgin_prefs_headers
+if enable_introspection
+ introspection_sources = libpidgin_SOURCES + libpidgin_headers + libpidgin_prefs_headers
- pidgin_gir = gnome.generate_gir(libpidgin,
- sources : introspection_sources,
- header : 'pidgin.h',
- includes : ['GLib-2.0', 'GObject-2.0', 'Gtk-4.0', libpurple_gir[0], 'Talkatu-0.0'],
- namespace : 'Pidgin',
- symbol_prefix : 'pidgin',
- identifier_prefix : 'Pidgin',
- export_packages : 'pidgin-@0@'.format(purple_major_version),
- nsversion : '@0@.@1@'.format(purple_major_version,
- purple_minor_version),
- dependencies : [gplugin_dep, gplugin_gtk_dep, talkatu_dep, libpurple_dep],
- install : true,
- extra_args : ['-DPIDGIN_COMPILATION', '--quiet'])
- endif
+ pidgin_gir = gnome.generate_gir(libpidgin,
+ sources : introspection_sources,
+ header : 'pidgin.h',
+ includes : ['GLib-2.0', 'GObject-2.0', 'Gtk-4.0', libpurple_gir[0], 'Talkatu-0.0'],
+ namespace : 'Pidgin',
+ symbol_prefix : 'pidgin',
+ identifier_prefix : 'Pidgin',
+ export_packages : 'pidgin-@0@'.format(purple_major_version),
+ nsversion : '@0@.@1@'.format(purple_major_version,
+ purple_minor_version),
+ dependencies : [gplugin_dep, gplugin_gtk_dep, talkatu_dep, libpurple_dep],
+ install : true,
+ extra_args : ['-DPIDGIN_COMPILATION', '--quiet'])
+endif
- subdir('data')
- subdir('pixmaps')
- subdir('plugins')
-endif # ENABLE_GTK
+subdir('data')
+subdir('pixmaps')
+subdir('plugins')
diff --git a/pidgin/plugins/meson.build b/pidgin/plugins/meson.build
index dc8d5d2dbb..766e0105b4 100644
--- a/pidgin/plugins/meson.build
+++ b/pidgin/plugins/meson.build
@@ -5,7 +5,5 @@ subdir('iconaway')
subdir('notify')
subdir('spellchk')
subdir('transparency')
-if enable_unity
- subdir('unity')
-endif
+subdir('unity', if_found : UNITY)
subdir('xmppconsole')