From 17ae7bf98bbadf6a1f5cd8f68be461c137644d1c Mon Sep 17 00:00:00 2001 From: Finn Behrens Date: Thu, 12 Aug 2021 19:51:32 +0200 Subject: [PATCH] add icns and mas target to makefile --- Makefile | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 898cccb..ae4740b 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,6 @@ .PHONY: all setup regenerate-i18n reskindex web desktop-common linux debian pacman local-pkgbuild local-pkgbuild-install windows windows-portable .PHONY: web-release debian-release pacman-release windows-setup-release windows-unpacked-release windows-portable-release windows-release +.PHONY: macos-common macos macos-mas macos-release macos-mas-release icns .PHONY: clean CFGDIR ?= configs/sc @@ -28,16 +29,33 @@ OUT_WIN64_BETTER_NAME := $(PRODUCT_NAME)_Setup_v$(VERSION).exe OUT_WIN64_UNPACKED_BETTER_NAME := $(PRODUCT_NAME)_win-unpacked_v$(VERSION).zip OUT_WIN64_PORTABLE_BETTER_NAME := $(PRODUCT_NAME)_win-portable_v$(VERSION) OUT_MACOS := $(DESKTOP_OUT)/$(PRODUCT_NAME)-$(VERSION).dmg +OUT_MACOS_MAS := $(DESKTOP_OUT)/mas-universal/$(PRODUCT_NAME).app RELEASE_DIR := release CURRENT_RELEASE_DIR := $(RELEASE_DIR)/$(VERSION) +# macOS Codesigning +CSC_IDENTITY_AUTO_DISCOVERY ?= false +NOTARIZE_APPLE_ID ?= +CSC_NAME ?= -include release.mk setup: if [ ! -L "element-desktop/webapp" ]; then ./setup.sh; fi +element-desktop/build/SchildiChat.xcassets/SchildiChat.iconset: $(wildcard element-desktop/build/SchildiChat.xcassets/SchildiChat.iconset/*) + +element-desktop/build/icon.icns: element-desktop/build/SchildiChat.xcassets/SchildiChat.iconset + iconutil -c icns -o $@ $< + +element-desktop/build/SchildiChat.xcassets/SchildiChatDMG.iconset: $(wildcard element-desktop/build/SchildiChat.xcassets/SchildiChatDMG.iconset/*) + +element-desktop/build/dmg.icns: element-desktop/build/SchildiChat.xcassets/SchildiChatDMG.iconset + iconutil -c icns -o $@ $< + +icns: element-desktop/build/icon.icns element-desktop/build/dmg.icns + regenerate-i18n: setup ./regenerate_i18n.sh @@ -55,6 +73,10 @@ desktop-common: web $(YARN) --cwd element-desktop run fetch --cfgdir '' $(YARN) --cwd element-desktop run build:native +macos-common: web icns + $(YARN) --cwd element-desktop run fetch --cfgdir '' + $(YARN) --cwd element-desktop run build:native:universal + linux: desktop-common $(YARN) --cwd element-desktop run build:64 --linux deb pacman tar.xz @@ -73,8 +95,16 @@ windows: desktop-common windows-portable: desktop-common $(YARN) --cwd element-desktop run build:64 --windows portable -macos: desktop-common - $(YARN) --cwd element-desktop run build --mac dmg -c.mac.identity=null +macos: macos-common + export CSC_IDENTITY_AUTO_DISCOVERY + export NOTARIZE_APPLE_ID + export CSC_NAME + $(YARN) --cwd element-desktop run build:universal --mac dmg + +macos-mas: macos-common + export NOTARIZE_APPLE_ID + export CSC_NAME + $(YARN) --cwd element-desktop run build:universal --mac mas local-pkgbuild: debian ./create_local_pkgbuild.sh $(VERSION) $(DESKTOP_APP_NAME) $(PRODUCT_NAME) $(OUT_DEB64) @@ -115,6 +145,10 @@ macos-release: macos mkdir -p $(CURRENT_RELEASE_DIR) cp $(OUT_MACOS) $(CURRENT_RELEASE_DIR) +macos-mas-release: macos-mas + mkdir -p $(CURRENT_RELEASE_DIR) + cp $(OUT_MACOS_MAS) $(CURRENT_RELEASE_DIR) + clean: $(YARN) --cwd matrix-js-sdk clean $(YARN) --cwd matrix-react-sdk clean