gplugin/gplugin

c8a03d3be794
Use g_set_error_literal in a few more places

Testing Done:
Ran the unit tests.

Reviewed at https://reviews.imfreedom.org/r/2891/
GTK4 = dependency('gtk4', version : '>=4.10.0', required : get_option('gtk4'))
if not GTK4.found()
subdir_done()
endif
###############################################################################
# Build Info
###############################################################################
GPLUGIN_GTK4_LIBRARY_VERSION = '0.1.0'
gtk_version_conf = configuration_data()
gtk_version_conf.set('GPLUGIN_GTK_MAJOR_VERSION', GPLUGIN_MAJOR_VERSION)
gtk_version_conf.set('GPLUGIN_GTK_MINOR_VERSION', GPLUGIN_MINOR_VERSION)
gtk_version_conf.set('GPLUGIN_GTK_MICRO_VERSION', GPLUGIN_MICRO_VERSION)
gtk_version_conf.set('GPLUGIN_GTK_EXTRA_VERSION', GPLUGIN_EXTRA_VERSION)
gtk_version_conf.set('GPLUGIN_GTK_VERSION', meson.project_version())
GPLUGIN_GTK4_SOURCES = [
'gplugin-gtk-plugin-page.c',
'gplugin-gtk-plugin-row.c',
'gplugin-gtk-plugin-settings-list.c',
'gplugin-gtk-version.c',
'gplugin-gtk-view.c',
]
GPLUGIN_GTK4_HEADERS = [
'gplugin-gtk-plugin-page.h',
'gplugin-gtk-plugin-row.h',
'gplugin-gtk-plugin-settings-list.h',
'gplugin-gtk-version.h',
'gplugin-gtk-view.h',
]
GPLUGIN_GTK4_PRIVATE_SOURCES = [
'gplugin-gtk-plugin-closures.c',
]
GPLUGIN_GTK4_PRIVATE_HEADERS = [
'gplugin-gtk-plugin-closures.h',
]
GPLUGIN_GTK4_PUBLIC_BUILT_SOURCES = [
]
GPLUGIN_GTK4_PUBLIC_BUILT_HEADERS = [
]
GPLUGIN_GTK4_GENERATED_TARGETS = [
]
###############################################################################
# Configure Files
###############################################################################
gplugin_gtk4_version_h = configure_file(
input : 'gplugin-gtk-version-defs.h.in',
output : 'gplugin-gtk-version-defs.h',
configuration : gtk_version_conf,
install : true,
install_dir : get_option('includedir') / 'gplugin-gtk4-1.0' / 'gplugin-gtk4'
)
GPLUGIN_GTK4_PUBLIC_BUILT_HEADERS += [gplugin_gtk4_version_h]
GPLUGIN_GTK4_H_INCLUDES = []
foreach header : GPLUGIN_GTK4_HEADERS + ['gplugin-gtk-version-defs.h']
GPLUGIN_GTK4_H_INCLUDES += f'#include <gplugin-gtk4/@header@>'
endforeach
conf = configuration_data()
conf.set('GPLUGIN_GTK_H_INCLUDES', '\n'.join(GPLUGIN_GTK4_H_INCLUDES))
gplugin_gtk4_h = configure_file(
input : 'gplugin-gtk.h.in',
output : 'gplugin-gtk.h',
configuration : conf,
install : true,
install_dir : get_option('includedir') / 'gplugin-gtk4-1.0')
GPLUGIN_GTK4_PUBLIC_BUILT_HEADERS += [gplugin_gtk4_h]
###############################################################################
# Resource Target
###############################################################################
gplugin_gtk4_resources = gnome.compile_resources(
'gplugin-gtk4-resources',
'data/gplugin-gtk.gresource.xml',
c_name: 'gplugin_gtk',
source_dir: 'data')
###############################################################################
# Library Target
###############################################################################
gplugin_gtk4_inc = include_directories('.')
gplugin_gtk4 = library('gplugin-gtk4',
GPLUGIN_GTK4_SOURCES,
GPLUGIN_GTK4_HEADERS,
GPLUGIN_GTK4_PRIVATE_SOURCES,
GPLUGIN_GTK4_PRIVATE_HEADERS,
GPLUGIN_GTK4_PUBLIC_BUILT_SOURCES,
GPLUGIN_GTK4_PUBLIC_BUILT_HEADERS,
gplugin_gtk4_resources,
c_args : ['-DGPLUGIN_GTK_COMPILATION', '-DG_LOG_USE_STRUCTURED', '-DG_LOG_DOMAIN="GPlugin-Gtk"'],
gnu_symbol_visibility : 'hidden',
include_directories : [toplevel_inc, gplugin_gtk4_inc],
dependencies : [gplugin_dep, GTK4],
version : GPLUGIN_GTK4_LIBRARY_VERSION,
install : true
)
pkgconfig.generate(
gplugin_gtk4,
name : 'gplugin-gtk4',
description : 'GTK4 widgets for GPlugin',
filebase : 'gplugin-gtk4',
subdirs : 'gplugin-gtk4-1.0',
libraries : [gplugin, GLIB, GOBJECT, GMODULE, GTK4],
)
###############################################################################
# GObject Introspection
###############################################################################
if get_option('introspection')
gplugin_gtk4_gir = gnome.generate_gir(
gplugin_gtk4,
sources : [
GPLUGIN_GTK4_SOURCES,
GPLUGIN_GTK4_HEADERS,
GPLUGIN_GTK4_PUBLIC_BUILT_SOURCES,
GPLUGIN_GTK4_PUBLIC_BUILT_HEADERS,
],
includes : [gplugin_gir[0], 'Gtk-4.0'],
namespace : 'GPluginGtk4',
nsversion : '1.0',
symbol_prefix : 'gplugin_gtk',
identifier_prefix : 'GPluginGtk',
install : true,
header : 'gplugin-gtk.h',
export_packages: ['gplugin-gtk4'],
dependencies : [gplugin_dep],
extra_args : ['--quiet', '-DGPLUGIN_GTK_COMPILATION'])
GPLUGIN_GTK4_GENERATED_TARGETS += gplugin_gtk4_gir
endif
###############################################################################
# Library Dependency Object
###############################################################################
gplugin_gtk4_dep = declare_dependency(
include_directories: [toplevel_inc, gplugin_gtk4_inc],
link_with : [gplugin, gplugin_gtk4],
sources : [
GPLUGIN_GTK4_PUBLIC_BUILT_HEADERS,
GPLUGIN_GTK4_GENERATED_TARGETS,
],
dependencies : [GLIB, GOBJECT, GTK4],
)
meson.override_dependency('gplugin-gtk4', gplugin_gtk4_dep)
###############################################################################
# Install Stuff
###############################################################################
install_headers(
GPLUGIN_GTK4_HEADERS,
subdir : 'gplugin-gtk4-1.0/gplugin-gtk4'
)
###############################################################################
# subdirectories
###############################################################################
subdir('reference')