ninja: use for CMake
authorRosen Penev <redacted>
Mon, 7 Sep 2020 20:37:25 +0000 (13:37 -0700)
committerRosen Penev <redacted>
Wed, 9 Sep 2020 04:52:31 +0000 (21:52 -0700)
CMake supports Ninja for faster compilation and less bugginess when it
comes to parallel compilation. That is, some CMake packages currently
have PKG_BUILD_PARALLEL set where it is not needed with ninja.

Signed-off-by: Rosen Penev <redacted>
devel/ninja/Makefile
devel/ninja/ninja-cmake.mk [new file with mode: 0644]
devel/ninja/ninja.mk

index 73a162fa1589b3bff37376c7b32aac74dd912c88..08ab50ff5208a35580121a8a5763578324677074 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ninja
 PKG_VERSION:=1.10.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/ninja-build/ninja/tar.gz/v$(PKG_VERSION)?
diff --git a/devel/ninja/ninja-cmake.mk b/devel/ninja/ninja-cmake.mk
new file mode 100644 (file)
index 0000000..3dc7deb
--- /dev/null
@@ -0,0 +1,25 @@
+include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/ninja/ninja.mk
+
+CMAKE_HOST_OPTIONS += -DCMAKE_GENERATOR="Ninja"
+CMAKE_OPTIONS += -DCMAKE_GENERATOR="Ninja"
+
+define Host/Compile/Default
+       $(call Ninja,-C $(HOST_BUILD_DIR)/$(CMAKE_BINARY_SUBDIR),)
+endef
+
+define Host/Install/Default
+       $(call Ninja,-C $(HOST_BUILD_DIR)/$(CMAKE_BINARY_SUBDIR) install,DESTDIR="$(HOST_INSTALL_DIR)")
+endef
+
+define Host/Uninstall/Default
+       -$(call Ninja,-C $(HOST_BUILD_DIR)/$(CMAKE_BINARY_SUBDIR) uninstall,)
+endef
+
+define Build/Compile/Default
+       $(call Ninja,-C $(PKG_BUILD_DIR)/$(CMAKE_BINARY_SUBDIR),)
+endef
+
+define Build/Install/Default
+       $(call Ninja,-C $(PKG_BUILD_DIR)/$(CMAKE_BINARY_SUBDIR) install,DESTDIR="$(PKG_INSTALL_DIR)")
+endef
index 66554764ef82ac9a420a4c0a10e4e68cd61163e1..ef6a04a64d63fb18f028502cd4ac5f87918b8cb7 100644 (file)
@@ -6,6 +6,9 @@
 #   $(call Ninja,-C $(MY_NINJA_BUILD_DIR),$(MY_NINJA_ENV_VARS))
 # endef
 
+HOST_BUILD_DEPENDS += ninka/host
+PKG_BUILD_DEPENDS += ninja/host
+
 NINJA_ARGS:=$(filter -j%,$(filter-out -j,$(MAKEFLAGS)))
 ifneq ($(findstring c,$(OPENWRT_VERBOSE)),)
   NINJA_ARGS+=-v
git clone https://git.99rst.org/PROJECT