From a28617d676bd223c7440c1c00d58a1869e5a121c Mon Sep 17 00:00:00 2001 From: James Hilliard Date: Wed, 23 Mar 2022 23:56:02 -0600 Subject: [PATCH] package/pkg-meson: add cmake dependency support Meson dependencies and variables can be provided by cmake similar to how they can be provided by pkgconfig, for this to work we need to ensure that cmake_prefix_path is set for both cross and native targets along with the cmake binary path. See: https://mesonbuild.com/Dependencies.html#cmake https://mesonbuild.com/Dependencies.html#arbitrary-variables-from-dependencies-that-can-be-found-multiple-ways https://mesonbuild.com/Machine-files.html#meson-builtin-options Signed-off-by: James Hilliard Signed-off-by: Arnout Vandecappelle (Essensium/Mind) (cherry picked from commit b848117699707390b6507e59e2e705c54acdc9fc) Signed-off-by: Peter Korsgaard --- package/pkg-meson.mk | 2 ++ support/misc/cross-compilation.conf.in | 2 ++ 2 files changed, 4 insertions(+) diff --git a/package/pkg-meson.mk b/package/pkg-meson.mk index 85de98e03a..9e70d49b60 100644 --- a/package/pkg-meson.mk +++ b/package/pkg-meson.mk @@ -79,6 +79,7 @@ define PKG_MESON_CROSSCONFIG_SED -e "s%@TARGET_CFLAGS@%$(call make-sq-comma-list,$($(strip $(1))))%g" \ -e "s%@TARGET_LDFLAGS@%$(call make-sq-comma-list,$($(strip $(3))))%g" \ -e "s%@TARGET_CXXFLAGS@%$(call make-sq-comma-list,$($(strip $(2))))%g" \ + -e "s%@BR2_CMAKE@%$(BR2_CMAKE)%g" \ -e "s%@PKGCONF_HOST_BINARY@%$(HOST_DIR)/bin/pkgconf%g" \ -e "s%@STAGING_DIR@%$(STAGING_DIR)%g" \ -e "s%@STATIC@%$(if $(BR2_STATIC_LIBS),true,false)%g" \ @@ -136,6 +137,7 @@ define $(2)_CONFIGURE_CMDS -Db_pie=false \ -Dstrip=false \ -Dbuild.pkg_config_path=$$(HOST_DIR)/lib/pkgconfig \ + -Dbuild.cmake_prefix_path=$$(HOST_DIR)/lib/cmake \ $$($$(PKG)_CONF_OPTS) \ $$($$(PKG)_SRCDIR) $$($$(PKG)_SRCDIR)/build endef diff --git a/support/misc/cross-compilation.conf.in b/support/misc/cross-compilation.conf.in index 18cf258a8e..1977a83501 100644 --- a/support/misc/cross-compilation.conf.in +++ b/support/misc/cross-compilation.conf.in @@ -8,6 +8,7 @@ c = '@TARGET_CC@' cpp = '@TARGET_CXX@' ar = '@TARGET_AR@' strip = '@TARGET_STRIP@' +cmake = '@BR2_CMAKE@' pkgconfig = '@PKGCONF_HOST_BINARY@' g-ir-compiler = '@STAGING_DIR@/usr/bin/g-ir-compiler' g-ir-scanner = '@STAGING_DIR@/usr/bin/g-ir-scanner' @@ -18,6 +19,7 @@ c_link_args = [@TARGET_LDFLAGS@] cpp_args = [@TARGET_CXXFLAGS@] cpp_link_args = [@TARGET_LDFLAGS@] wrap_mode = 'nodownload' +cmake_prefix_path = '@STAGING_DIR@/usr/lib/cmake' [properties] needs_exe_wrapper = true