Meson: Allow building as subproject
authorAdrian Perez de Castro <aperez@igalia.com>
Mon, 26 Apr 2021 14:27:01 +0000 (17:27 +0300)
committerRan Benita <ran@unusedvar.com>
Tue, 27 Apr 2021 06:54:58 +0000 (09:54 +0300)
Specify where to find the headers for libxkbcommon_dep,
libxkbcommon_x11_dep, and libxkbregistry_dep,  which allows other
projects to correctly locate the headers when libxkbcommon is being
built as a Meson subproject.

The dep_libxkbregistry variable is renamed to libxkbregistry_dep,
to follow the usual convention for variables which hold declared
dependencies to be used from subproject builds.

meson.build

index 2986cd3df9e4e114845706451f2d455ad6fc65ef..50f47d195cfd156bc66d11547bf6e35161e310a2 100644 (file)
@@ -264,8 +264,11 @@ install_headers(
     'xkbcommon/xkbcommon-names.h',
     subdir: 'xkbcommon',
 )
+
+# This variable may be used to build as a subproject and should not be renamed.
 libxkbcommon_dep = declare_dependency(
     link_with: libxkbcommon,
+    include_directories: include_directories('.'),
 )
 pkgconfig.generate(
     libxkbcommon,
@@ -331,8 +334,10 @@ You can disable X11 support with -Denable-x11=false.''')
         'xkbcommon/xkbcommon-x11.h',
         subdir: 'xkbcommon',
     )
+    # This variable may be used to build as a subproject and should not be renamed.
     libxkbcommon_x11_dep = declare_dependency(
         link_with: libxkbcommon_x11,
+        include_directories: include_directories('.'),
     )
     pkgconfig.generate(
         libxkbcommon_x11,
@@ -394,8 +399,9 @@ if get_option('enable-xkbregistry')
         description: 'XKB API to query available rules, models, layouts, variants and options',
     )
 
-    dep_libxkbregistry = declare_dependency(
-                                include_directories: include_directories('xkbcommon'),
+    # This variable may be used to build as a subproject and should not be renamed.
+    libxkbregistry_dep = declare_dependency(
+                                include_directories: include_directories('.'),
                                 link_with: libxkbregistry
                                 )
 endif
@@ -508,7 +514,7 @@ You can disable the Wayland xkbcli programs with -Denable-wayland=false.''')
         configh_data.set10('HAVE_XKBCLI_LIST', true)
         executable('xkbcli-list',
                    'tools/registry-list.c',
-                   dependencies: dep_libxkbregistry,
+                   dependencies: libxkbregistry_dep,
                    install: true,
                    install_dir: dir_libexec)
         install_man('tools/xkbcli-list.1')
@@ -679,7 +685,7 @@ if get_option('enable-xkbregistry')
         'registry',
         executable('test-registry', 'test/registry.c',
                    include_directories: include_directories('src'),
-                   dependencies: dep_libxkbregistry),
+                   dependencies: libxkbregistry_dep),
         env: test_env,
     )
 endif