Message ID | 20220324055602.3021498-1-james.hilliard1@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | [1/1] package/pkg-meson: add cmake dependency support | expand |
On 24/03/2022 06:56, James Hilliard wrote: > 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 <james.hilliard1@gmail.com> Applied to master, thanks. Regards, Arnout > --- > 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
>>>>> "James" == James Hilliard <james.hilliard1@gmail.com> writes: > 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 <james.hilliard1@gmail.com> Committed to 2022.02.x, thanks.
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
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 <james.hilliard1@gmail.com> --- package/pkg-meson.mk | 2 ++ support/misc/cross-compilation.conf.in | 2 ++ 2 files changed, 4 insertions(+)