diff mbox

[2/2] Update documentation of CMake infrastructure

Message ID 20170106223748.2203-2-cedric.marie@openmailbox.org
State Changes Requested
Headers show

Commit Message

Cédric Marie Jan. 6, 2017, 10:37 p.m. UTC
Describe BR2_CMAKE_USE_NINJA_BACKEND option, and update all the
variables that have changed with this evolution.

Replace LIBFOO_INSTALL_STAGING_OPTS and LIBFOO_INSTALL_TARGET_OPTS with
LIBFOO_INSTALL_STAGING_ENV, LIBFOO_INSTALL_TARGET_ENV and
LIBFOO_INSTALL_OPTS.

Signed-off-by: Cédric Marie <cedric.marie@openmailbox.org>
---
 docs/manual/adding-packages-cmake.txt | 37 +++++++++++++++++++++++------------
 1 file changed, 25 insertions(+), 12 deletions(-)

Comments

Thomas Petazzoni Jan. 25, 2017, 3:27 a.m. UTC | #1
Hello,

On Fri,  6 Jan 2017 23:37:48 +0100, Cédric Marie wrote:

> diff --git a/docs/manual/adding-packages-cmake.txt b/docs/manual/adding-packages-cmake.txt
> index 6ccf390..06331dd 100644
> --- a/docs/manual/adding-packages-cmake.txt
> +++ b/docs/manual/adding-packages-cmake.txt
> @@ -117,25 +117,38 @@ typical packages will therefore only use a few of them.
>    the given package, for one reason or another. By default, set to
>    +$(MAKE)+. If parallel building is not supported by the package,
>    then it should be set to +LIBFOO_MAKE=$(MAKE1)+.
> +  When +BR2_CMAKE_USE_NINJA_BACKEND+ is enabled, the default value is
> +  +$(HOST_DIR)/usr/bin/ninja+. If parallel building is not supported by
> +  the package, then it should be set to
> +  +LIBFOO_MAKE=$(HOST_DIR)/usr/bin/ninja -j1+.

That's a bit annoying, because it means packages would have to do:

ifeq ($(BR2_CMAKE_USE_NINJA_BACKEND),y)
LIBFOO_MAKE = $(HOST_DIR)/usr/bin/ninja -j1
else
LIBFOO_MAKE = $(MAKE1)
endif

So perhaps in this case we instead need a variable like
LIBFOO_SUPPORTS_PARALLEL_BUILD so that the infrastructure can do the
right thing.

Thomas
diff mbox

Patch

diff --git a/docs/manual/adding-packages-cmake.txt b/docs/manual/adding-packages-cmake.txt
index 6ccf390..06331dd 100644
--- a/docs/manual/adding-packages-cmake.txt
+++ b/docs/manual/adding-packages-cmake.txt
@@ -117,25 +117,38 @@  typical packages will therefore only use a few of them.
   the given package, for one reason or another. By default, set to
   +$(MAKE)+. If parallel building is not supported by the package,
   then it should be set to +LIBFOO_MAKE=$(MAKE1)+.
+  When +BR2_CMAKE_USE_NINJA_BACKEND+ is enabled, the default value is
+  +$(HOST_DIR)/usr/bin/ninja+. If parallel building is not supported by
+  the package, then it should be set to
+  +LIBFOO_MAKE=$(HOST_DIR)/usr/bin/ninja -j1+.
 
 * +LIBFOO_MAKE_ENV+, to specify additional environment variables to
   pass to make in the build step. These are passed before the +make+
   command. By default, empty.
 
 * +LIBFOO_MAKE_OPTS+, to specify additional variables to pass to make
-  in the build step. These are passed after the +make+ command. By
-  default, empty.
-
-* +LIBFOO_INSTALL_STAGING_OPTS+ contains the make options used to
-  install the package to the staging directory. By default, the value
-  is +DESTDIR=$(STAGING_DIR) install+, which is correct for most
-  CMake packages. It is still possible to override it.
-
-* +LIBFOO_INSTALL_TARGET_OPTS+ contains the make options used to
+  in the build step. These are passed after the +make+ or +ninja+
+  command. If +BR2_CMAKE_USE_NINJA_BACKEND+ is enabled and +VERBOSE+ is
+  set, the default value is -v. Otherwise it is empty. With Ninja
+  backend, the verbose mode is not set in the configure step. Instead,
+  ninja -v option must be used in the following steps.
+
+* +LIBFOO_INSTALL_STAGING_ENV+ contains environment variables to pass
+  to make or ninja, to install the package to the staging directory. By
+  default, the value is +DESTDIR=$(STAGING_DIR)+, which is correct for
+  most CMake packages. It is still possible to override it.
+
+* +LIBFOO_INSTALL_TARGET_ENV+ contains environment variables to pass
+  to make or ninja, to install the package to the target directory. By
+  default, the value is +DESTDIR=$(TARGET_DIR)+. The default value is
+  correct for most CMake packages, but it is still possible to override
+  it if needed.
+
+* +LIBFOO_INSTALL_OPTS+ contains the make or ninja options used to
   install the package to the target directory. By default, the value
-  is +DESTDIR=$(TARGET_DIR) install+. The default value is correct
-  for most CMake packages, but it is still possible to override it if
-  needed.
+  is +install/fast+ for make and +install+ for ninja. The default value
+  is correct for most CMake packages, but it is still possible to
+  override it if needed.
 
 With the CMake infrastructure, all the steps required to build and
 install the packages are already defined, and they generally work well