Merge branch 'pkgconfig' into 'main'
Meson: Simplify pkgconfig file generator See merge request GNOME/gtk!4756
This commit is contained in:
47
meson.build
47
meson.build
@@ -471,9 +471,6 @@ if not os_win32
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
pc_gdk_extra_libs = []
|
||||
|
||||
cairo_backends = []
|
||||
foreach backend: [ ['cairo-xlib', cairo_req, x11_enabled],
|
||||
['cairo-win32', cairo_req, win32_enabled],
|
||||
@@ -604,26 +601,14 @@ if x11_enabled
|
||||
cdata.set('HAVE_RANDR15', xrandr15_dep.found())
|
||||
endif
|
||||
|
||||
if broadway_enabled
|
||||
pc_gdk_extra_libs += ['-lz']
|
||||
endif
|
||||
|
||||
if macos_enabled
|
||||
pc_gdk_extra_libs += ['-framework Cocoa', '-framework Carbon']
|
||||
endif
|
||||
|
||||
extra_demo_ldflags = []
|
||||
if win32_enabled
|
||||
pc_gdk_extra_libs += ['-lgdi32', '-limm32', '-lshell32', '-lole32']
|
||||
if cc.get_id() == 'msvc'
|
||||
# Since the demo programs are now built as pure GUI programs, we
|
||||
# need to pass in /entry:mainCRTStartup so that they will properly
|
||||
# link on Visual Studio builds
|
||||
extra_demo_ldflags = ['/entry:mainCRTStartup']
|
||||
else
|
||||
pc_gdk_extra_libs += ['-Wl,-luuid']
|
||||
endif
|
||||
pc_gdk_extra_libs += ['-lwinmm', '-ldwmapi', '-lsetupapi', '-lcfgmgr32', '-lhid']
|
||||
|
||||
# Check whether libepoxy is built with EGL support on Windows
|
||||
endif
|
||||
@@ -841,16 +826,7 @@ gsk_private_packages = [] # all already in gdk_private_packages
|
||||
pangoft2_pkgs = (wayland_enabled or x11_enabled) ? ['pangoft2'] : []
|
||||
gtk_private_packages = pangoft2_pkgs
|
||||
|
||||
gdk_extra_libs = pc_gdk_extra_libs
|
||||
gsk_extra_libs = []
|
||||
gtk_extra_libs = []
|
||||
|
||||
gdk_extra_cflags = []
|
||||
gsk_extra_cflags = []
|
||||
gtk_extra_cflags = []
|
||||
|
||||
pkgs = [ 'gtk4' ]
|
||||
|
||||
pkgs = []
|
||||
pkg_targets = []
|
||||
display_backends = []
|
||||
foreach backend: [ 'broadway', 'macos', 'wayland', 'win32', 'x11', ]
|
||||
@@ -867,18 +843,23 @@ common_pc_variables = [
|
||||
'gtk_host=@0@-@1@'.format(host_machine.cpu_family(), host_machine.system()), # FIXME
|
||||
]
|
||||
|
||||
pkg_config.generate(libgtk,
|
||||
filebase: 'gtk4',
|
||||
unescaped_variables: common_pc_variables,
|
||||
name: 'GTK',
|
||||
description: 'GTK Graphical UI Library',
|
||||
requires: gdk_packages + gsk_packages + gtk_packages,
|
||||
subdirs: ['gtk-@0@'.format(gtk_api_version)],
|
||||
)
|
||||
meson.override_dependency('gtk4', libgtk_dep)
|
||||
|
||||
foreach pkg: pkgs
|
||||
pkg_config.generate(
|
||||
filebase: pkg,
|
||||
unescaped_variables: common_pc_variables,
|
||||
name: 'GTK',
|
||||
description: 'GTK Graphical UI Library',
|
||||
requires: gdk_packages + gsk_packages + gtk_packages,
|
||||
requires_private: gdk_private_packages + gsk_private_packages + gtk_private_packages,
|
||||
libraries: ['-L${libdir}', '-lgtk-4'],
|
||||
libraries_private: gdk_extra_libs + gsk_extra_libs + gtk_extra_libs,
|
||||
subdirs: ['gtk-@0@'.format(gtk_api_version)],
|
||||
extra_cflags: gdk_extra_cflags + gsk_extra_cflags + gtk_extra_cflags,
|
||||
requires: 'gtk4',
|
||||
)
|
||||
meson.override_dependency(pkg, libgtk_dep)
|
||||
endforeach
|
||||
@@ -889,10 +870,10 @@ if os_unix
|
||||
unescaped_variables: common_pc_variables,
|
||||
name: 'GTK',
|
||||
description: 'GTK Unix print support',
|
||||
requires: ['gtk4'] + gtk_packages,
|
||||
libraries: [],
|
||||
requires: 'gtk4',
|
||||
subdirs: ['gtk-@0@/unix-print'.format(gtk_api_version)],
|
||||
)
|
||||
meson.override_dependency('gtk4-unix-print', libgtk_dep)
|
||||
endif
|
||||
|
||||
subdir('po')
|
||||
|
||||
Reference in New Issue
Block a user