* [Buildroot] [PATCH 1/1] package/pkg-cmake.mk: add Platform/Buildroot-Initialize.cmake
@ 2026-01-17 10:31 Julien Olivain via buildroot
2026-01-22 17:21 ` Gilles Talis
2026-02-04 9:13 ` Thomas Petazzoni via buildroot
0 siblings, 2 replies; 3+ messages in thread
From: Julien Olivain via buildroot @ 2026-01-17 10:31 UTC (permalink / raw)
To: buildroot; +Cc: Julien Olivain, Gilles Talis
Since commit [1] (core/pkg-cmake: provide our own platform
description), Buildroot is setting its own CMake platform
description. This description applies minor changes on top of
the CMake Linux platform, see [2] and [3]. The CMake system specific
script tries to include an initialization script, if present.
See [4].
Since in commit [1] we set the CMAKE_SYSTEM_NAME to "Buildroot"
(rather than "Linux"), CMake will search for a
"Platform/Buildroot-Initialize.cmake" which does not exist, and
continue normally, since the include is optional.
The "Platform/Linux-Initialize.cmake" file is the one setting the
LINUX [6] and UNIX [7] variables, which are expected to be true on
a linux compatible system. In Buildroot, it is currently not
included, so those variables are unset.
If a CMake package in Buildroot has a construct such as:
if(LINUX)
# ...do things...
else()
message(FATAL_ERROR "System not supported")
endif()
It will fail at configuration time.
This situation happened when trying to add the btop++ package
in Buildroot. See [8].
Since the initial intent of commit [1] was to make the Buildroot
CMake system inherit from Linux plus some fixups, this commit simply
adds a Buildroot-Initialize.cmake file that includes the
Linux-Initialize.cmake one from CMake. This will have the effect
to properly define the LINUX and UNIX variables.
[1] https://gitlab.com/buildroot.org/buildroot/-/commit/c69b14fe2f72d8134057b115884c04a2bf27d410
[2] https://gitlab.com/buildroot.org/buildroot/-/blob/2025.11/support/misc/Buildroot.cmake#L1-4
[3] https://cmake.org/cmake/help/v4.2/variable/CMAKE_SYSTEM_NAME.html
[4] https://gitlab.kitware.com/cmake/cmake/-/blob/v4.2.1/Modules/CMakeSystemSpecificInitialize.cmake#L35
[5] https://gitlab.kitware.com/cmake/cmake/-/blob/v4.2.1/Modules/Platform/Linux-Initialize.cmake
[6] https://cmake.org/cmake/help/v4.2/variable/LINUX.html
[7] https://cmake.org/cmake/help/v4.2/variable/UNIX.html
[8] https://github.com/aristocratos/btop/blob/v1.4.6/CMakeLists.txt#L76
Reported-by: Gilles Talis <gilles.talis@gmail.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
---
package/pkg-cmake.mk | 2 ++
support/misc/Buildroot-Initialize.cmake | 1 +
2 files changed, 3 insertions(+)
create mode 100644 support/misc/Buildroot-Initialize.cmake
diff --git a/package/pkg-cmake.mk b/package/pkg-cmake.mk
index ba287d244a..f572bdebb3 100644
--- a/package/pkg-cmake.mk
+++ b/package/pkg-cmake.mk
@@ -287,6 +287,8 @@ define TOOLCHAIN_CMAKE_INSTALL_FILES
> $(HOST_DIR)/share/buildroot/toolchainfile.cmake
$(Q)$(INSTALL) -D -m 0644 support/misc/Buildroot.cmake \
$(HOST_DIR)/share/buildroot/Platform/Buildroot.cmake
+ $(Q)$(INSTALL) -D -m 0644 support/misc/Buildroot-Initialize.cmake \
+ $(HOST_DIR)/share/buildroot/Platform/Buildroot-Initialize.cmake
endef
TOOLCHAIN_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_CMAKE_INSTALL_FILES
diff --git a/support/misc/Buildroot-Initialize.cmake b/support/misc/Buildroot-Initialize.cmake
new file mode 100644
index 0000000000..3451562f08
--- /dev/null
+++ b/support/misc/Buildroot-Initialize.cmake
@@ -0,0 +1 @@
+include(Platform/Linux-Initialize)
--
2.52.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Buildroot] [PATCH 1/1] package/pkg-cmake.mk: add Platform/Buildroot-Initialize.cmake
2026-01-17 10:31 [Buildroot] [PATCH 1/1] package/pkg-cmake.mk: add Platform/Buildroot-Initialize.cmake Julien Olivain via buildroot
@ 2026-01-22 17:21 ` Gilles Talis
2026-02-04 9:13 ` Thomas Petazzoni via buildroot
1 sibling, 0 replies; 3+ messages in thread
From: Gilles Talis @ 2026-01-22 17:21 UTC (permalink / raw)
To: Julien Olivain; +Cc: buildroot
Hi Julien, all,
Le sam. 17 janv. 2026 à 06:32, Julien Olivain <ju.o@free.fr> a écrit :
>
> Since commit [1] (core/pkg-cmake: provide our own platform
> description), Buildroot is setting its own CMake platform
> description. This description applies minor changes on top of
> the CMake Linux platform, see [2] and [3]. The CMake system specific
> script tries to include an initialization script, if present.
> See [4].
>
> Since in commit [1] we set the CMAKE_SYSTEM_NAME to "Buildroot"
> (rather than "Linux"), CMake will search for a
> "Platform/Buildroot-Initialize.cmake" which does not exist, and
> continue normally, since the include is optional.
>
> The "Platform/Linux-Initialize.cmake" file is the one setting the
> LINUX [6] and UNIX [7] variables, which are expected to be true on
> a linux compatible system. In Buildroot, it is currently not
> included, so those variables are unset.
>
> If a CMake package in Buildroot has a construct such as:
>
> if(LINUX)
> # ...do things...
> else()
> message(FATAL_ERROR "System not supported")
> endif()
>
> It will fail at configuration time.
>
> This situation happened when trying to add the btop++ package
> in Buildroot. See [8].
>
> Since the initial intent of commit [1] was to make the Buildroot
> CMake system inherit from Linux plus some fixups, this commit simply
> adds a Buildroot-Initialize.cmake file that includes the
> Linux-Initialize.cmake one from CMake. This will have the effect
> to properly define the LINUX and UNIX variables.
>
> [1] https://gitlab.com/buildroot.org/buildroot/-/commit/c69b14fe2f72d8134057b115884c04a2bf27d410
> [2] https://gitlab.com/buildroot.org/buildroot/-/blob/2025.11/support/misc/Buildroot.cmake#L1-4
> [3] https://cmake.org/cmake/help/v4.2/variable/CMAKE_SYSTEM_NAME.html
> [4] https://gitlab.kitware.com/cmake/cmake/-/blob/v4.2.1/Modules/CMakeSystemSpecificInitialize.cmake#L35
> [5] https://gitlab.kitware.com/cmake/cmake/-/blob/v4.2.1/Modules/Platform/Linux-Initialize.cmake
> [6] https://cmake.org/cmake/help/v4.2/variable/LINUX.html
> [7] https://cmake.org/cmake/help/v4.2/variable/UNIX.html
> [8] https://github.com/aristocratos/btop/blob/v1.4.6/CMakeLists.txt#L76
>
> Reported-by: Gilles Talis <gilles.talis@gmail.com>
> Signed-off-by: Julien Olivain <ju.o@free.fr>
> ---
> package/pkg-cmake.mk | 2 ++
> support/misc/Buildroot-Initialize.cmake | 1 +
> 2 files changed, 3 insertions(+)
> create mode 100644 support/misc/Buildroot-Initialize.cmake
>
> diff --git a/package/pkg-cmake.mk b/package/pkg-cmake.mk
> index ba287d244a..f572bdebb3 100644
> --- a/package/pkg-cmake.mk
> +++ b/package/pkg-cmake.mk
> @@ -287,6 +287,8 @@ define TOOLCHAIN_CMAKE_INSTALL_FILES
> > $(HOST_DIR)/share/buildroot/toolchainfile.cmake
> $(Q)$(INSTALL) -D -m 0644 support/misc/Buildroot.cmake \
> $(HOST_DIR)/share/buildroot/Platform/Buildroot.cmake
> + $(Q)$(INSTALL) -D -m 0644 support/misc/Buildroot-Initialize.cmake \
> + $(HOST_DIR)/share/buildroot/Platform/Buildroot-Initialize.cmake
> endef
>
> TOOLCHAIN_POST_INSTALL_STAGING_HOOKS += TOOLCHAIN_CMAKE_INSTALL_FILES
> diff --git a/support/misc/Buildroot-Initialize.cmake b/support/misc/Buildroot-Initialize.cmake
> new file mode 100644
> index 0000000000..3451562f08
> --- /dev/null
> +++ b/support/misc/Buildroot-Initialize.cmake
> @@ -0,0 +1 @@
> +include(Platform/Linux-Initialize)
> --
> 2.52.0
>
Thanks for the patch.
I could successfully build btop++ after I applied it. So:
Tested-by: Gilles Talis <gilles.talis@gmail.com>
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Buildroot] [PATCH 1/1] package/pkg-cmake.mk: add Platform/Buildroot-Initialize.cmake
2026-01-17 10:31 [Buildroot] [PATCH 1/1] package/pkg-cmake.mk: add Platform/Buildroot-Initialize.cmake Julien Olivain via buildroot
2026-01-22 17:21 ` Gilles Talis
@ 2026-02-04 9:13 ` Thomas Petazzoni via buildroot
1 sibling, 0 replies; 3+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-02-04 9:13 UTC (permalink / raw)
To: Julien Olivain; +Cc: buildroot, Gilles Talis
On Sat, Jan 17, 2026 at 11:31:09AM +0100, Julien Olivain via buildroot wrote:
> Since commit [1] (core/pkg-cmake: provide our own platform
> description), Buildroot is setting its own CMake platform
> description. This description applies minor changes on top of
> the CMake Linux platform, see [2] and [3]. The CMake system specific
> script tries to include an initialization script, if present.
> See [4].
>
> Since in commit [1] we set the CMAKE_SYSTEM_NAME to "Buildroot"
> (rather than "Linux"), CMake will search for a
> "Platform/Buildroot-Initialize.cmake" which does not exist, and
> continue normally, since the include is optional.
>
> The "Platform/Linux-Initialize.cmake" file is the one setting the
> LINUX [6] and UNIX [7] variables, which are expected to be true on
> a linux compatible system. In Buildroot, it is currently not
> included, so those variables are unset.
>
> If a CMake package in Buildroot has a construct such as:
>
> if(LINUX)
> # ...do things...
> else()
> message(FATAL_ERROR "System not supported")
> endif()
>
> It will fail at configuration time.
>
> This situation happened when trying to add the btop++ package
> in Buildroot. See [8].
>
> Since the initial intent of commit [1] was to make the Buildroot
> CMake system inherit from Linux plus some fixups, this commit simply
> adds a Buildroot-Initialize.cmake file that includes the
> Linux-Initialize.cmake one from CMake. This will have the effect
> to properly define the LINUX and UNIX variables.
>
> [1] https://gitlab.com/buildroot.org/buildroot/-/commit/c69b14fe2f72d8134057b115884c04a2bf27d410
> [2] https://gitlab.com/buildroot.org/buildroot/-/blob/2025.11/support/misc/Buildroot.cmake#L1-4
> [3] https://cmake.org/cmake/help/v4.2/variable/CMAKE_SYSTEM_NAME.html
> [4] https://gitlab.kitware.com/cmake/cmake/-/blob/v4.2.1/Modules/CMakeSystemSpecificInitialize.cmake#L35
> [5] https://gitlab.kitware.com/cmake/cmake/-/blob/v4.2.1/Modules/Platform/Linux-Initialize.cmake
> [6] https://cmake.org/cmake/help/v4.2/variable/LINUX.html
> [7] https://cmake.org/cmake/help/v4.2/variable/UNIX.html
> [8] https://github.com/aristocratos/btop/blob/v1.4.6/CMakeLists.txt#L76
>
> Reported-by: Gilles Talis <gilles.talis@gmail.com>
> Signed-off-by: Julien Olivain <ju.o@free.fr>
Applied, thanks!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-02-04 9:13 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-17 10:31 [Buildroot] [PATCH 1/1] package/pkg-cmake.mk: add Platform/Buildroot-Initialize.cmake Julien Olivain via buildroot
2026-01-22 17:21 ` Gilles Talis
2026-02-04 9:13 ` Thomas Petazzoni via buildroot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.