From fc832dd126cee6288e68b58ae71c587b3a20b3d5 Mon Sep 17 00:00:00 2001 From: Luca Ceresoli Date: Fri, 1 Jul 2016 17:53:29 +0200 Subject: [PATCH] cmake: add documentation about how it is built Commit 7b17bafc5d7948aff3059e058ada80ad1fc50500 by Davide Viti has a detailed explanation of some unusual techniques used for building host-cmake and (target-)cmake. This is useful information for whoever starts hacking on it, so copy it in the makefile, where it will be easily noticed. Also remove the sentence about host-cmake having a runtime dependency on host-pkgconfig (not true anymore: it's the specific cmake-packages that depend on it) and fix typos. Signed-off-by: Luca Ceresoli Cc: Samuel Martin Cc: Davide Viti Cc: Arnout Vandecappelle Cc: Thomas Petazzoni Reviewed-by: Arnout Vandecappelle (Essensium/Mind) Reviewed-by: "Yann E. MORIN" Signed-off-by: Thomas Petazzoni --- package/cmake/cmake.mk | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/package/cmake/cmake.mk b/package/cmake/cmake.mk index 95c73c036b..7a80c1bfef 100644 --- a/package/cmake/cmake.mk +++ b/package/cmake/cmake.mk @@ -10,6 +10,18 @@ CMAKE_SITE = https://cmake.org/files/v$(CMAKE_VERSION_MAJOR) CMAKE_LICENSE = BSD-3c CMAKE_LICENSE_FILES = Copyright.txt +# CMake is a particular package: +# * CMake can be built using the generic infrastructure or the cmake one. +# Since Buildroot has no requirement regarding the host system cmake +# program presence, it uses the generic infrastructure to build the +# host-cmake package, then the (target-)cmake package can be built +# using the cmake infrastructure; +# * CMake bundles its dependencies within its sources. This is the +# reason why the host-cmake package has no dependencies:, whereas +# the (target-)cmake package has a lot of dependencies, using only +# the system-wide libraries instead of rebuilding and statically +# linking with the ones bundled into the CMake sources. + CMAKE_DEPENDENCIES = zlib jsoncpp libcurl libarchive expat bzip2 xz CMAKE_CONF_OPTS = \