[Buildroot] [PATCH 1/4] package/pkg-cmake: allow overriding toolchain

Alsey Miller alseycmiller at gmail.com
Tue Mar 29 19:17:50 UTC 2022


This change is necessary because if you specify the toolchain it will always use the GCC toolchain and C flags instead of the Clang cross compiler  and custom C flags. This is not an issue for host packages, only for target. 

> On Mar 29, 2022, at 11:50 AM, Alsey Coleman Miller <alseycmiller at gmail.com> wrote:
> 
> Signed-off-by: Alsey Coleman Miller <alseycmiller at gmail.com>
> ---
> package/pkg-cmake.mk | 25 ++++++++++++++++++++++++-
> 1 file changed, 24 insertions(+), 1 deletion(-)
> 
> diff --git a/package/pkg-cmake.mk b/package/pkg-cmake.mk
> index 3b1db35fb6..9b36ee2b47 100644
> --- a/package/pkg-cmake.mk
> +++ b/package/pkg-cmake.mk
> @@ -57,7 +57,7 @@ $(2)_INSTALL_STAGING_OPTS	?= DESTDIR=$$(STAGING_DIR) install/fast
> $(2)_INSTALL_TARGET_OPTS	?= DESTDIR=$$(TARGET_DIR) install/fast
> 
> $(3)_SUPPORTS_IN_SOURCE_BUILD ?= YES
> -
> +$(3)_SUPPORTS_CMAKE_TOOLCHAIN ?= YES
> 
> ifeq ($$($(3)_SUPPORTS_IN_SOURCE_BUILD),YES)
> $(2)_BUILDDIR			= $$($(2)_SRCDIR)
> @@ -82,6 +82,7 @@ ifeq ($(4),target)
> #   documented as a standard CMake variable. If a package supports it,
> #   it must handle it explicitly.
> #
> +ifeq ($(3)_SUPPORTS_CMAKE_TOOLCHAIN),YES)
> define $(2)_CONFIGURE_CMDS
> 	(mkdir -p $$($$(PKG)_BUILDDIR) && \
> 	cd $$($$(PKG)_BUILDDIR) && \
> @@ -104,6 +105,28 @@ define $(2)_CONFIGURE_CMDS
> 	)
> endef
> else
> +define $(2)_CONFIGURE_CMDS
> +	(mkdir -p $$($$(PKG)_BUILDDIR) && \
> +	cd $$($$(PKG)_BUILDDIR) && \
> +	rm -f CMakeCache.txt && \
> +	PATH=$$(BR_PATH) \
> +	$$($$(PKG)_CONF_ENV) $$(BR2_CMAKE) $$($$(PKG)_SRCDIR) \
> +		-DCMAKE_INSTALL_PREFIX="/usr" \
> +		-DCMAKE_COLOR_MAKEFILE=OFF \
> +		-DBUILD_DOC=OFF \
> +		-DBUILD_DOCS=OFF \
> +		-DBUILD_EXAMPLE=OFF \
> +		-DBUILD_EXAMPLES=OFF \
> +		-DBUILD_TEST=OFF \
> +		-DBUILD_TESTS=OFF \
> +		-DBUILD_TESTING=OFF \
> +		-DBUILD_SHARED_LIBS=$$(if $$(BR2_STATIC_LIBS),OFF,ON) \
> +		$$(CMAKE_QUIET) \
> +		$$($$(PKG)_CONF_OPTS) \
> +	)
> +endef
> +endif
> +else
> 
> # Configure package for host
> define $(2)_CONFIGURE_CMDS
> -- 
> 2.35.1
> 




More information about the buildroot mailing list