diff mbox

[2/3] cmake: add documentation about how it is built

Message ID 1467388410-28135-3-git-send-email-luca@lucaceresoli.net
State Accepted
Headers show

Commit Message

Luca Ceresoli July 1, 2016, 3:53 p.m. UTC
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 <luca@lucaceresoli.net>
Cc: Samuel Martin <s.martin49@gmail.com>
Cc: Davide Viti <zinosat@tiscali.it>
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/cmake/cmake.mk | 12 ++++++++++++
 1 file changed, 12 insertions(+)

Comments

Arnout Vandecappelle July 2, 2016, 1:57 p.m. UTC | #1
On 01-07-16 17:53, Luca Ceresoli wrote:
> 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 <luca@lucaceresoli.net>

Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>

 Regards,
 Arnout

> Cc: Samuel Martin <s.martin49@gmail.com>
> Cc: Davide Viti <zinosat@tiscali.it>
> Cc: Arnout Vandecappelle <arnout@mind.be>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  package/cmake/cmake.mk | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/package/cmake/cmake.mk b/package/cmake/cmake.mk
> index 33fb4aa..d734e03 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.
> +
>  HOST_CMAKE_DEPENDENCIES =
>  CMAKE_DEPENDENCIES = zlib jsoncpp libcurl libarchive expat bzip2 xz
>  
>
Yann E. MORIN July 2, 2016, 2:48 p.m. UTC | #2
Luca, All,

On 2016-07-01 17:53 +0200, Luca Ceresoli spake thusly:
> 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 <luca@lucaceresoli.net>
> Cc: Samuel Martin <s.martin49@gmail.com>
> Cc: Davide Viti <zinosat@tiscali.it>
> Cc: Arnout Vandecappelle <arnout@mind.be>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> ---
>  package/cmake/cmake.mk | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/package/cmake/cmake.mk b/package/cmake/cmake.mk
> index 33fb4aa..d734e03 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.
> +
>  HOST_CMAKE_DEPENDENCIES =
>  CMAKE_DEPENDENCIES = zlib jsoncpp libcurl libarchive expat bzip2 xz
>  
> -- 
> 2.7.4
> 
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
diff mbox

Patch

diff --git a/package/cmake/cmake.mk b/package/cmake/cmake.mk
index 33fb4aa..d734e03 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.
+
 HOST_CMAKE_DEPENDENCIES =
 CMAKE_DEPENDENCIES = zlib jsoncpp libcurl libarchive expat bzip2 xz