Browse Source

ninja: use for CMake

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 <rosenp@gmail.com>
lilik-openwrt-22.03
Rosen Penev 4 years ago
parent
commit
54449e9c66
No known key found for this signature in database GPG Key ID: 36D31CFA845F0E3B
3 changed files with 29 additions and 1 deletions
  1. +1
    -1
      devel/ninja/Makefile
  2. +25
    -0
      devel/ninja/ninja-cmake.mk
  3. +3
    -0
      devel/ninja/ninja.mk

+ 1
- 1
devel/ninja/Makefile View 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)?


+ 25
- 0
devel/ninja/ninja-cmake.mk View File

@ -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

+ 3
- 0
devel/ninja/ninja.mk View 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


Loading…
Cancel
Save