tools/cmake: add MAKE config variable
[openwrt/openwrt.git] / tools / cmake / Makefile
index 6f6c28a9b01a50676453a42c8487751ff6b6a508..8f0631eb74c9e77a5545a2e54cde2914be9cb755 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2006-2012 OpenWrt.org
+# Copyright (C) 2006-2016 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -7,15 +7,46 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=cmake
-PKG_VERSION:=2.8.7
+PKG_VERSION:=3.22.1
+PKG_RELEASE:=1
+PKG_CPE_ID:=cpe:/a:kitware:cmake
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://www.cmake.org/files/v2.8/
-PKG_MD5SUM:=e1b237aeaed880f65dec9c20602452f6
+PKG_SOURCE_URL:=https://github.com/Kitware/CMake/releases/download/v$(PKG_VERSION)/ \
+               https://cmake.org/files/v3.19/
+PKG_HASH:=0e998229549d7b3f368703d20e248e7ee1f853910d42704aa87918c213ea82c0
+
+HOST_BUILD_PARALLEL:=1
+HOST_CONFIGURE_PARALLEL:=1
 
 include $(INCLUDE_DIR)/host-build.mk
 
-HOST_CONFIGURE_CMD = \
-       LDFLAGS="$(HOST_LDFLAGS) -static" ./configure
+HOST_CONFIGURE_VARS += \
+       CC="$(HOSTCC_NOCACHE)" \
+       CXX="$(HOSTCXX_NOCACHE)" \
+       MAKEFLAGS="$(HOST_JOBS)" \
+       CXXFLAGS="$(HOST_CFLAGS)" \
+       MAKE="$(STAGING_DIR_HOST)/bin/ninja"
+
+HOST_CONFIGURE_ARGS := \
+       $(if $(MAKE_JOBSERVER),--parallel="$(MAKE_JOBSERVER)") \
+       --prefix="$(STAGING_DIR_HOST)" \
+       --generator=Ninja
+
+define Host/Compile/Default
+       +$(NINJA) -C $(HOST_BUILD_DIR) $(1)
+endef
+
+define Host/Install/Default
+       +$(NINJA) -C $(HOST_BUILD_DIR) install
+endef
+
+define Host/Uninstall/Default
+       +$(NINJA) -C $(HOST_BUILD_DIR) uninstall
+endef
+
+ifneq ($(findstring c,$(OPENWRT_VERBOSE)),)
+  HOST_MAKE_FLAGS += VERBOSE=1
+endif
 
 $(eval $(call HostBuild))