meson.build: Increase wayland-protocol version dependency
[src/agl-compositor.git] / meson.build
index c338ee6..a6c9269 100644 (file)
@@ -10,12 +10,16 @@ project('agl-compositor',
 )
 
 config_h = configuration_data()
+agl_compositor_version = '0.0.13'
+pkgconfig = import('pkgconfig')
 
 cc = meson.get_compiler('c')
 add_project_arguments(
   cc.get_supported_arguments([
     '-Wno-unused-parameter',
     '-Wno-pedantic',
+    '-Wextra',
+    '-Werror'
   ]),
   language: 'c'
 )
@@ -38,7 +42,7 @@ endforeach
 dep_libsystemd = dependency('libsystemd', required: false)
 dep_scanner = dependency('wayland-scanner', native: true)
 prog_scanner = find_program(dep_scanner.get_pkgconfig_variable('wayland_scanner'))
-dep_wp = dependency('wayland-protocols', version: '>= 1.12')
+dep_wp = dependency('wayland-protocols', version: '>= 1.18')
 dir_wp_base = dep_wp.get_pkgconfig_variable('pkgdatadir')
 
 agl_shell_xml = files('protocol/agl-shell.xml')
@@ -86,10 +90,27 @@ foreach proto: protocols
     endforeach
 endforeach
 
+# libweston-6 pkg-config file already has 'libweston-6' as prefix but
+# agl-compositor uses 'libweston-6' also. This makes use of the prefix
+# path as to allow building and installing the compositor locally
+prefix_path = get_option('prefix')
+message('prefix_path ' + prefix_path)
+if not prefix_path.contains('/usr')
+  additional_include_dir = include_directories(prefix_path + '/' + 'include')
+  local_dep = declare_dependency(include_directories: additional_include_dir)
+else
+  local_dep = []
+endif
+
+dir_data = join_paths(prefix_path, get_option('datadir'))
+dir_data_agl_compositor = join_paths('agl-compositor', 'protocols')
+dir_data_pc = join_paths(dir_data, 'pkgconfig')
+
 deps_libweston = [
   dependency('wayland-server'),
-  dependency('libweston-6'),
-  dependency('libweston-desktop-6'),
+  dependency('libweston-7'),
+  dependency('libweston-desktop-7'),
+  local_dep,
 ]
 
 srcs_agl_compositor = [
@@ -121,3 +142,20 @@ exe_agl_compositor = executable(
        dependencies: deps_libweston,
        install: true
 )
+
+pkgconfig.generate(
+        filebase: 'agl-compositor-@0@-protocols'.format(agl_compositor_version),
+        name: 'agl-compositor private protocols',
+        version: agl_compositor_version,
+        description: 'agl-compositor protocol files',
+        variables: [
+                'datarootdir=' + join_paths('${prefix}', get_option('datadir')),
+                'pkgdatadir=' + join_paths('${pc_sysrootdir}${datarootdir}', dir_data_agl_compositor)
+        ],
+        install_dir: dir_data_pc
+)
+
+install_data(
+        [ agl_shell_xml ],
+        install_dir: join_paths(dir_data, dir_data_agl_compositor)
+)