Commit 604c9204 authored by Gwenhael Goavec-Merou's avatar Gwenhael Goavec-Merou Committed by Thomas Petazzoni
Browse files

pkg-cmake: allow to build package in a subdirectory



For some cmake based packages, like GNURadio, it's forbidden to do the
compilation directly in the sources directory. This patch add a new
variable to specify, if needed, the name of a sub-directory used to compile.

[Thomas: put the documentation at the right place in the manual, not
in the middle of the <pkg>_CONF_OPTS description.]

Signed-off-by: default avatarGwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
Reviewed-by: default avatarArnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tested-by: default avatarAngelo Compagnucci <angelo.compagnucci@gmail.com>
Reviewed-by: default avatarSamuel Martin <s.martin49@gmail.com>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent 68443c52
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -107,6 +107,10 @@ typical packages will therefore only use a few of them.
** +BUILD_EXAMPLE+, +BUILD_EXAMPLES+ are disabled;
** +BUILD_TEST+, +BUILD_TESTS+, +BUILD_TESTING+ are disabled.

* +LIBFOO_SUPPORTS_IN_SOURCE_BUILD = NO+ should be set when the package
  cannot be built inside the source tree but needs a separate build
  directory.

* +LIBFOO_MAKE+, to specify an alternate +make+ command. This is
  typically useful when parallel make is enabled in the configuration
  (using +BR2_JLEVEL+) but that this feature should be disabled for
+12 −2
Original line number Diff line number Diff line
@@ -61,7 +61,15 @@ $(2)_INSTALL_STAGING_OPTS ?= DESTDIR=$$(STAGING_DIR) install
$(2)_INSTALL_TARGET_OPTS		?= DESTDIR=$$(TARGET_DIR) install

$(2)_SRCDIR			= $$($(2)_DIR)/$$($(2)_SUBDIR)

$(3)_SUPPORTS_IN_SOURCE_BUILD ?= YES


ifeq ($$($(3)_SUPPORTS_IN_SOURCE_BUILD),YES)
$(2)_BUILDDIR			= $$($(2)_SRCDIR)
else
$(2)_BUILDDIR			= $$($(2)_SRCDIR)/buildroot-build
endif

#
# Configure step. Only define it if not already defined by the package
@@ -73,7 +81,8 @@ ifeq ($(4),target)

# Configure package for target
define $(2)_CONFIGURE_CMDS
	(cd $$($$(PKG)_BUILDDIR) && \
	(mkdir -p $$($$(PKG)_BUILDDIR) && \
	cd $$($$(PKG)_BUILDDIR) && \
	rm -f CMakeCache.txt && \
	PATH=$$(BR_PATH) \
	$$($$(PKG)_CONF_ENV) $$(HOST_DIR)/usr/bin/cmake $$($$(PKG)_SRCDIR) \
@@ -98,7 +107,8 @@ else

# Configure package for host
define $(2)_CONFIGURE_CMDS
	(cd $$($$(PKG)_BUILDDIR) && \
	(mkdir -p $$($$(PKG)_BUILDDIR) && \
	cd $$($$(PKG)_BUILDDIR) && \
	rm -f CMakeCache.txt && \
	PATH=$$(BR_PATH) \
	$$(HOST_DIR)/usr/bin/cmake $$($$(PKG)_SRCDIR) \