[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