cdata.set('LIBDS_VERSION_MINOR', libds_version_minor)
cdata.set('LIBDS_VERSION_PATCH', libds_version_patch)
+wayland_protos = dependency('wayland-protocols',
+ fallback: ['wayland-protocols', 'wayland_protocols'],
+ default_options: ['tests=false'],
+)
+wl_protocol_dir = wayland_protos.get_variable('pkgdatadir')
+
+wayland_scanner_dep = dependency('wayland-scanner', native: true)
+wayland_scanner = find_program(
+ wayland_scanner_dep.get_variable('wayland_scanner'),
+ native: true,
+)
+
subdir('src')
+subdir('tests')
+subdir('examples')
+subdir('clients')
subdir('include')
-configure_file(output: 'config.h', install: false, configuration: cdata)
+configure_file(output: 'config.h', install: false, configuration: cdata)
\ No newline at end of file
+++ /dev/null
-libds_files = [
- 'log.c',
- 'addon.c',
- 'buffer.c',
- 'allocator.c',
- 'swapchain.c',
- 'output.c',
- 'compositor.c',
- 'subcompositor.c',
- 'region.c',
- 'util/time.c',
- 'util/shm.c',
- 'surface/surface.c',
- 'surface/subsurface.c',
- 'client_buffer/shm_client_buffer.c',
- 'xdg_shell/xdg_shell.c',
- 'xdg_shell/xdg_surface.c',
- 'xdg_shell/xdg_toplevel.c',
- 'pixel_format.c',
- 'backend.c',
- 'input_device.c',
- 'pointer.c',
- 'keyboard.c',
- 'touch.c',
- 'seat/seat.c',
- 'seat/seat_pointer.c',
- 'seat/seat_keyboard.c',
- 'seat/seat_touch.c',
- 'shell.c',
- 'shell_surface.c',
-]
-
-protocols = {
- 'xdg-shell': wl_protocol_dir / 'stable/xdg-shell/xdg-shell.xml',
-}
-
-protocols_code = {}
-protocols_server_header = {}
-
-foreach name, path : protocols
- code = custom_target(
- name.underscorify() + '_c',
- input: path,
- output: '@BASENAME@-protocol.c',
- command: [wayland_scanner, 'private-code', '@INPUT@', '@OUTPUT@'],
- )
- libds_files += code
-
- server_header = custom_target(
- name.underscorify() + '_server_h',
- input: path,
- output: '@BASENAME@-server-protocol.h',
- command: [wayland_scanner, 'server-header', '@INPUT@', '@OUTPUT@'],
- build_by_default: false,
- )
- libds_files += server_header
-endforeach
-
-math = meson.get_compiler('c').find_library('m')
-wayland_server = dependency('wayland-server', required: true)
-pixman = dependency('pixman-1', required: true)
-libdrm = dependency('libdrm', required: true)
-xkbcommon = dependency('xkbcommon', required: true)
-rt = meson.get_compiler('c').find_library('rt')
-
-if wayland_server.version().version_compare('>= 1.19')
- cdata.set('HAVE_WL_SEAT_ERROR_MISSING_CAPABILITY', '1')
-endif
-
-libds_deps = [
- math,
- wayland_server,
- pixman,
- libdrm,
- xkbcommon,
- rt,
-]
-
-subdir('backend')
-subdir('allocator')
-
-lib_libds = shared_library('ds', libds_files,
- dependencies: libds_deps,
- include_directories: [ common_inc, include_directories('.') ],
- version: meson.project_version(),
- install: true
-)
-
-dep_libds = declare_dependency(
- link_with: lib_libds,
- dependencies: libds_deps,
- include_directories: [ common_inc, include_directories('.') ],
-)
-
-pkgconfig = import('pkgconfig')
-pkgconfig.generate(lib_libds,
- version: meson.project_version(),
- filebase: meson.project_name(),
- name: meson.project_name(),
- description: 'Wayland compositor library',
-)
-wayland_protos = dependency('wayland-protocols',
- fallback: ['wayland-protocols', 'wayland_protocols'],
- default_options: ['tests=false'],
+libds_files = [
+ 'log.c',
+ 'addon.c',
+ 'buffer.c',
+ 'allocator.c',
+ 'swapchain.c',
+ 'output.c',
+ 'compositor.c',
+ 'subcompositor.c',
+ 'region.c',
+ 'util/time.c',
+ 'util/shm.c',
+ 'surface/surface.c',
+ 'surface/subsurface.c',
+ 'client_buffer/shm_client_buffer.c',
+ 'xdg_shell/xdg_shell.c',
+ 'xdg_shell/xdg_surface.c',
+ 'xdg_shell/xdg_toplevel.c',
+ 'pixel_format.c',
+ 'backend.c',
+ 'input_device.c',
+ 'pointer.c',
+ 'keyboard.c',
+ 'touch.c',
+ 'seat/seat.c',
+ 'seat/seat_pointer.c',
+ 'seat/seat_keyboard.c',
+ 'seat/seat_touch.c',
+ 'shell.c',
+ 'shell_surface.c',
+]
+
+protocols = {
+ 'xdg-shell': wl_protocol_dir / 'stable/xdg-shell/xdg-shell.xml',
+}
+
+protocols_code = {}
+protocols_server_header = {}
+
+foreach name, path : protocols
+ code = custom_target(
+ name.underscorify() + '_c',
+ input: path,
+ output: '@BASENAME@-protocol.c',
+ command: [wayland_scanner, 'private-code', '@INPUT@', '@OUTPUT@'],
+ )
+ libds_files += code
+
+ server_header = custom_target(
+ name.underscorify() + '_server_h',
+ input: path,
+ output: '@BASENAME@-server-protocol.h',
+ command: [wayland_scanner, 'server-header', '@INPUT@', '@OUTPUT@'],
+ build_by_default: false,
+ )
+ libds_files += server_header
+endforeach
+
+math = meson.get_compiler('c').find_library('m')
+wayland_server = dependency('wayland-server', required: true)
+pixman = dependency('pixman-1', required: true)
+libdrm = dependency('libdrm', required: true)
+xkbcommon = dependency('xkbcommon', required: true)
+rt = meson.get_compiler('c').find_library('rt')
+
+if wayland_server.version().version_compare('>= 1.19')
+ cdata.set('HAVE_WL_SEAT_ERROR_MISSING_CAPABILITY', '1')
+endif
+
+libds_deps = [
+ math,
+ wayland_server,
+ pixman,
+ libdrm,
+ xkbcommon,
+ rt,
+]
+
+subdir('backend')
+subdir('allocator')
+
+lib_libds = shared_library('ds', libds_files,
+ dependencies: libds_deps,
+ include_directories: [ common_inc, include_directories('.') ],
+ version: meson.project_version(),
+ install: true
)
-wl_protocol_dir = wayland_protos.get_variable('pkgdatadir')
-wayland_scanner_dep = dependency('wayland-scanner', native: true)
-wayland_scanner = find_program(
- wayland_scanner_dep.get_variable('wayland_scanner'),
- native: true,
+dep_libds = declare_dependency(
+ link_with: lib_libds,
+ dependencies: libds_deps,
+ include_directories: [ common_inc, include_directories('.') ],
)
-subdir('libds')
-subdir('tests')
-subdir('examples')
-subdir('clients')
+pkgconfig = import('pkgconfig')
+pkgconfig.generate(lib_libds,
+ version: meson.project_version(),
+ filebase: meson.project_name(),
+ name: meson.project_name(),
+ description: 'Wayland compositor library',
+)