From 6d50f3ca7bccf8f9a1533372bc3f07826b9e2094 Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Sun, 18 Dec 2022 10:00:10 +0530 Subject: [PATCH] meson: Override dependencies to improve usage as a subproject With this change, sysprof can be consumed as a subproject without making any changes to the build files of a project. All you need to do is provide a wrap file with a `[provide]` section: https://mesonbuild.com/Wrap-dependency-system-manual.html#provide-section This is also necessary because otherwise projects need to hard-code the subproject name, which might be `sysprof` when using `wrap-git` or `sysprof-3.46.0` when using `wrap-file` (to build from a release tarball). This can cause conflicts between different subprojects that consume sysprof differently. Other projects like glib, cairo, pango, etc already do this. --- src/libsysprof-capture/meson.build | 1 + src/libsysprof-ui/meson.build | 1 + src/libsysprof/meson.build | 1 + 3 files changed, 3 insertions(+) diff --git a/src/libsysprof-capture/meson.build b/src/libsysprof-capture/meson.build index 28beeb03..f548f827 100644 --- a/src/libsysprof-capture/meson.build +++ b/src/libsysprof-capture/meson.build @@ -64,6 +64,7 @@ libsysprof_capture_dep = declare_dependency( dependencies: libsysprof_capture_deps, include_directories: libsysprof_capture_include_dirs, ) +meson.override_dependency('sysprof-capture-@0@'.format(libsysprof_api_version), libsysprof_capture_dep) if install_static pkgconfig.generate( diff --git a/src/libsysprof-ui/meson.build b/src/libsysprof-ui/meson.build index f2fbfa93..1f6720a9 100644 --- a/src/libsysprof-ui/meson.build +++ b/src/libsysprof-ui/meson.build @@ -118,6 +118,7 @@ libsysprof_ui_dep = declare_dependency( dependencies: libsysprof_ui_deps, include_directories: include_directories('.'), ) +meson.override_dependency('sysprof-ui-@0@'.format(libsysprof_api_version), libsysprof_ui_dep) pkgconfig.generate( libsysprof_ui, diff --git a/src/libsysprof/meson.build b/src/libsysprof/meson.build index 9eeb25ab..a730ef11 100644 --- a/src/libsysprof/meson.build +++ b/src/libsysprof/meson.build @@ -178,6 +178,7 @@ libsysprof_dep = declare_dependency( dependencies: libsysprof_deps, include_directories: [include_directories('.'), libsysprof_capture_include_dirs], ) +meson.override_dependency('sysprof-@0@'.format(libsysprof_api_version), libsysprof_dep) pkgconfig.generate( libsysprof,