diff --git a/gdk/meson.build b/gdk/meson.build index 2b428fa364..bd2af26a4f 100644 --- a/gdk/meson.build +++ b/gdk/meson.build @@ -180,7 +180,7 @@ endif gdk_backends = [] gdk_backends_gen_headers = [] # non-public generated headers -foreach backend : ['broadway', 'wayland', 'x11', 'mir', 'win32'] +foreach backend : ['broadway', 'mir', 'quartz', 'wayland', 'win32', 'x11'] if get_variable('@0@_enabled'.format(backend)) subdir(backend) gdk_deps += get_variable('gdk_@0@_deps'.format(backend)) @@ -193,6 +193,7 @@ foreach backend : ['broadway', 'wayland', 'x11', 'mir', 'win32'] endif endforeach +# FIXME: might have to add '-xobjective-c' to c_args for quartz backend? libgdk = static_library('gdk', sources: [gdk_sources, gdk_backends_gen_headers, gdkconfig], c_args: ['-DGDK_COMPILATION', '-DG_LOG_DOMAIN="Gdk"'], diff --git a/gdk/quartz/meson.build b/gdk/quartz/meson.build new file mode 100644 index 0000000000..6ee35b3b9d --- /dev/null +++ b/gdk/quartz/meson.build @@ -0,0 +1,46 @@ +# FIXME: do we need to do an add_language() for objective-c here? +gdk_quartz_sources = files([ + 'GdkQuartzView.c', + 'GdkQuartzNSWindow.c', + 'gdkcursor-quartz.c', + 'gdkdevice-core-quartz.c', + 'gdkdevicemanager-core-quartz.c', + 'gdkdisplay-quartz.c', + 'gdkdisplaymanager-quartz.c', + 'gdkdnd-quartz.c', + 'gdkevents-quartz.c', + 'gdkeventloop-quartz.c', + 'gdkglcontext-quartz.c', + 'gdkglobals-quartz.c', + 'gdkkeys-quartz.c', + 'gdkproperty-quartz.c', + 'gdkscreen-quartz.c', + 'gdkselection-quartz.c', + 'gdkutils-quartz.c', + 'gdkwindow-quartz.c', +]) + +gdk_quartz_public_headers = files([ + 'gdkquartzcursor.h', + 'gdkquartzdevice-core.h', + 'gdkquartzdevicemanager-core.h', + 'gdkquartzdisplay.h', + 'gdkquartzdisplaymanager.h', + 'gdkquartzdnd.h', + 'gdkquartzkeys.h', + 'gdkquartzscreen.h', + 'gdkquartzutils.h', + 'gdkquartzwindow.h', +]) + +install_headers(gdk_quartz_public_headers, subdir: 'gtk-4.0/gdk/quartz/') +install_headers('gdkquartz.h', subdir: 'gtk-4.0/gdk/') + +gdk_quartz_deps = [ # FIXME +] + +libgdk_quartz = static_library('libgdk-quartz', + gdk_quartz_sources, gdkconfig, gdkenum_h, + include_directories: [confinc, gdkinc], + c_args: ['-DGDK_COMPILATION', '-DG_LOG_DOMAIN="Gdk"', '-xobjective-c'], + dependencies: [gdk_deps, gdk_quartz_deps]) diff --git a/meson.build b/meson.build index f1fa142e54..e07da1e987 100644 --- a/meson.build +++ b/meson.build @@ -37,6 +37,7 @@ x11_enabled = get_option('enable-x11-backend') wayland_enabled = get_option('enable-wayland-backend') broadway_enabled = get_option('enable-broadway-backend') mir_enabled = get_option('enable-mir-backend') +quartz_enabled = false # FIXME win32_enabled = false # FIXME mkmarshal = find_program('build_marshal.py')