[Buildroot] [git commit] package/pkg-cmake.mk: force check_language(CXX) to be false when building w/o C+++
Peter Korsgaard
peter at korsgaard.com
Sat May 17 20:28:02 UTC 2025
commit: https://git.buildroot.net/buildroot/commit/?id=b34e0d27ab8a9529cbc0df3ade7f9eedca50041f
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master
See the code snippet below, which typically is used to check if
C++ support can be enabled.
If we manually set CMAKE_CXX_COMPILER to /bin/false, then cmake
will assume that it's fine, without having a real check. Otherwise,
it will do a test run but somehow it falls back to /bin/c++, even
when cross-compiling. Fix that by setting CXX to /bin/false.
```cmake
include(CheckLanguage)
check_language(CXX)
if(CMAKE_CXX_COMPILER)
enable_language(CXX)
endif()
```
Signed-off-by: Thomas Devoogdt <thomas at devoogdt.com>
Signed-off-by: Peter Korsgaard <peter at korsgaard.com>
---
package/pkg-cmake.mk | 1 +
1 file changed, 1 insertion(+)
diff --git a/package/pkg-cmake.mk b/package/pkg-cmake.mk
index c7032312fb..ba287d244a 100644
--- a/package/pkg-cmake.mk
+++ b/package/pkg-cmake.mk
@@ -102,6 +102,7 @@ define $(2)_CONFIGURE_CMDS
cd $$($$(PKG)_BUILDDIR) && \
rm -f CMakeCache.txt && \
PATH=$$(BR_PATH) \
+ $$(if $$(BR2_INSTALL_LIBSTDCPP),,CXX=/bin/false) \
$$($$(PKG)_CONF_ENV) $$(BR2_CMAKE) $$($$(PKG)_SRCDIR) \
-G$$($$(PKG)_GENERATOR) \
-DCMAKE_MAKE_PROGRAM="$$($$(PKG)_GENERATOR_PROGRAM)" \
More information about the buildroot
mailing list