build: fix CMake generator for non-Ninja builds
authorIvan Romanov <drizt72@zoho.eu>
Mon, 26 Aug 2024 07:45:38 +0000 (12:45 +0500)
committerHauke Mehrtens <hauke@hauke-m.de>
Thu, 29 Aug 2024 17:46:48 +0000 (19:46 +0200)
OpenWRT by default uses the Ninja generator, but some packages disable
Ninja and use the default Unix Makefiles generator. This generator can
be overridden in the user environment with `CMAKE_GENERATOR`. This patch
explicitly sets the correct generator when `PKG_USE_NINJA:=0`.

In particular, the `mt76` package uses the Makefiles generator.

Signed-off-by: Ivan Romanov <drizt72@zoho.eu>
Link: https://github.com/openwrt/openwrt/pull/16263
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
include/cmake.mk

index c82ba5f8099c2987f996cfdfc0d18695724e0cb7..00ade7fd7debc7037e02cb5755f4cffd59c1e434 100644 (file)
@@ -68,6 +68,8 @@ ifeq ($(HOST_USE_NINJA),1)
   define Host/Uninstall/Default
        +$(NINJA) -C $(HOST_CMAKE_BINARY_DIR) uninstall
   endef
+else
+  CMAKE_HOST_OPTIONS += -DCMAKE_GENERATOR="Unix Makefiles"
 endif
 
 ifeq ($(PKG_USE_NINJA),1)
@@ -80,6 +82,8 @@ ifeq ($(PKG_USE_NINJA),1)
   define Build/Install/Default
        +DESTDIR="$(PKG_INSTALL_DIR)" $(NINJA) -C $(CMAKE_BINARY_DIR) install
   endef
+else
+  CMAKE_OPTIONS += -DCMAKE_GENERATOR="Unix Makefiles"
 endif
 
 define Build/Configure/Default