From 56af23583f019f11a426b6255691f64ba51e0992 Mon Sep 17 00:00:00 2001 From: groverlynn Date: Wed, 20 Dec 2023 11:40:30 +0100 Subject: [PATCH] update packages & configs --- .github/workflows/commit-ci.yml | 2 +- .github/workflows/pull-request-ci.yml | 2 +- .github/workflows/release-ci.yml | 2 +- .gitmodules | 3 +- INSTALL.md | 27 +++++--- Makefile | 14 ++-- README.md | 2 +- Squirrel.xcodeproj/project.pbxproj | 96 ++++++++++++++++++++++----- action-install.sh | 2 +- librime | 2 +- 10 files changed, 112 insertions(+), 40 deletions(-) diff --git a/.github/workflows/commit-ci.yml b/.github/workflows/commit-ci.yml index 6eb251f88..a55951ede 100644 --- a/.github/workflows/commit-ci.yml +++ b/.github/workflows/commit-ci.yml @@ -5,7 +5,7 @@ on: - '*' jobs: build: - runs-on: macos-latest + runs-on: macos-14 steps: - name: Checkout last commit uses: actions/checkout@v3 diff --git a/.github/workflows/pull-request-ci.yml b/.github/workflows/pull-request-ci.yml index 2bb3f0ad0..816a98d07 100644 --- a/.github/workflows/pull-request-ci.yml +++ b/.github/workflows/pull-request-ci.yml @@ -2,7 +2,7 @@ name: pull request ci on: [pull_request] jobs: build: - runs-on: macos-latest + runs-on: macos-14 steps: - name: Checkout last commit uses: actions/checkout@v3 diff --git a/.github/workflows/release-ci.yml b/.github/workflows/release-ci.yml index f17b228bd..cefce9e49 100644 --- a/.github/workflows/release-ci.yml +++ b/.github/workflows/release-ci.yml @@ -5,7 +5,7 @@ on: - '*' jobs: build: - runs-on: macos-latest + runs-on: macos-14 env: SQUIRREL_BUNDLED_RECIPES: 'lotem/rime-octagram-data lotem/rime-octagram-data@hant' steps: diff --git a/.gitmodules b/.gitmodules index 374aee36a..ea1e48ea4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,7 @@ [submodule "librime"] path = librime - url = https://github.com/rime/librime.git + url = https://github.com/groverlynn/librime.git + branch = choose ignore = dirty [submodule "plum"] path = plum diff --git a/INSTALL.md b/INSTALL.md index 48b60c427..38256314f 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -61,9 +61,11 @@ Choose one of the following options. ``` sh export BUILD_UNIVERSAL=1 -make -C librime xcode/deps/boost +export BOOST_ROOT="$(pwd)/librime/deps/boost-1.84.0" -export BOOST_ROOT="$(pwd)/librime/deps/boost_1_78_0" +export CMAKE_GENERATOR=Ninja + +bash librime/install-boost.sh ``` Let's set `BUILD_UNIVERSAL` to tell `make` that we are building Boost as @@ -96,8 +98,14 @@ port install boost -no_static * Make sure you have updated all the dependencies. If you cloned squirrel with the command in this guide, you've already done it. But if not, this command will update submodules. -``` +``` sh git submodule update --init --recursive + +export BUILD_UNIVERSAL=1 +export CMAKE_GENERATOR=Ninja + +make -C librime +make deps ``` * With all dependencies ready, build `Squirrel.app`: @@ -109,11 +117,14 @@ make To build only for the native architecture, and/or specify the lowest supported macOS version, pass variable `ARCHS`/`MACOSX_DEPLOYMENT_TARGET` to `make`: ``` sh -# for Universal macOS App, targetting Ventura -make ARCHS='arm64 x86_64' MACOSX_DEPLOYMENT_TARGET='13.0' +# for Universal macOS App +make ARCHS='arm64 x86_64' MACOSX_DEPLOYMENT_TARGET='10.15' + +# for Mac computers with Apple Silicon +make ARCHS='arm64' MACOSX_DEPLOYMENT_TARGET='10.15' -# for ARM macOS App, targetting Ventura -make ARCHS='arm64' MACOSX_DEPLOYMENT_TARGET='13.0' +# for Intel-based Mac +make ARCHS='x86_64' MACOSX_DEPLOYMENT_TARGET='10.15' ``` ## Install it on your Mac @@ -123,7 +134,7 @@ make ARCHS='arm64' MACOSX_DEPLOYMENT_TARGET='13.0' Just add `package` after `make` ``` -make package ARCHS='arm64' MACOSX_DEPLOYMENT_TARGET='13.0' +make package ARCHS='arm64' MACOSX_DEPLOYMENT_TARGET='10.15' ``` Define or echo `DEV_ID` to automatically handle code signing and [notarization](https://developer.apple.com/documentation/security/notarizing_macos_software_before_distribution) (Apple Developer ID needed) diff --git a/Makefile b/Makefile index 98783ab2a..b5b418568 100644 --- a/Makefile +++ b/Makefile @@ -3,8 +3,8 @@ all: release install: install-release -# Change to `xcode/dist-with-icu` if boost is linked to icu libraries. -RIME_DIST_TARGET = xcode/dist +# Change to `dist-with-icu` if boost is linked to icu libraries. +RIME_DIST_TARGET = install RIME_BIN_DIR = librime/dist/bin RIME_LIB_DIR = librime/dist/lib @@ -39,7 +39,7 @@ $(RIME_LIBRARY): $(MAKE) librime $(RIME_DEPS): - $(MAKE) -C librime xcode/deps + $(MAKE) -C librime deps librime: $(RIME_DEPS) $(MAKE) -C librime $(RIME_DIST_TARGET) @@ -67,7 +67,7 @@ plum-data: $(MAKE) copy-plum-data opencc-data: - $(MAKE) -C librime xcode/deps/opencc + $(MAKE) -C librime deps/opencc $(MAKE) copy-opencc-data copy-plum-data: @@ -88,9 +88,9 @@ _=$() $() export CMAKE_OSX_ARCHITECTURES = $(subst $(_),;,$(ARCHS)) endif -ifdef MACOSX_DEPLOYMENT_TARGET +# https://cmake.org/cmake/help/latest/envvar/MACOSX_DEPLOYMENT_TARGET.html +MACOSX_DEPLOYMENT_TARGET ?= 10.15 BUILD_SETTINGS += MACOSX_DEPLOYMENT_TARGET="$(MACOSX_DEPLOYMENT_TARGET)" -endif release: $(DEPS_CHECK) bash package/add_data_files @@ -170,5 +170,5 @@ clean: clean-deps: $(MAKE) -C plum clean - $(MAKE) -C librime xcode/clean + $(MAKE) -C librime clean $(MAKE) clean-sparkle diff --git a/README.md b/README.md index 6b5c8ec03..08b2214e9 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ 安裝輸入法 --- -本品適用於 macOS 12.0+ +本品適用於 macOS 10.15+ 初次安裝,如果在部份應用程序中打不出字,請註銷並重新登錄。 diff --git a/Squirrel.xcodeproj/project.pbxproj b/Squirrel.xcodeproj/project.pbxproj index ac6c0b5d0..00a83747f 100644 --- a/Squirrel.xcodeproj/project.pbxproj +++ b/Squirrel.xcodeproj/project.pbxproj @@ -77,13 +77,17 @@ 7BDB21231C6EF1BE0025E351 /* SquirrelConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 7BDB21221C6EF1BE0025E351 /* SquirrelConfig.m */; }; 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; }; 8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; }; - 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; A45578F51146A75200592C6E /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = A45578F41146A75200592C6E /* MainMenu.xib */; }; A47C48DF105E8CE8006D528B /* macos_keycode.m in Sources */ = {isa = PBXBuildFile; fileRef = A47C48DE105E8CE8006D528B /* macos_keycode.m */; }; - A4B8E1B30F645B870094E08B /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A4B8E1B20F645B870094E08B /* Carbon.framework */; }; A4FC48CB0F6530EF0069BE81 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = A4FC48C90F6530EF0069BE81 /* Localizable.strings */; }; - D26434552706A15100857391 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D26434542706A15100857391 /* QuartzCore.framework */; }; - E93074B70A5C264700470842 /* InputMethodKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E93074B60A5C264700470842 /* InputMethodKit.framework */; }; + F41938F62B675B5200EAFFFF /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29B97324FDCFA39411CA2CEA /* AppKit.framework */; }; + F41938F82B675B5700EAFFFF /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F41938F42B675B0500EAFFFF /* Cocoa.framework */; }; + F41938FA2B675B5B00EAFFFF /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29B97325FDCFA39411CA2CEA /* Foundation.framework */; }; + F41939012B675BC500EAFFFF /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A4B8E1B20F645B870094E08B /* Carbon.framework */; }; + F493BF7B2B76F28A008BD7D0 /* UserNotifications.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F493BF7A2B76F27E008BD7D0 /* UserNotifications.framework */; }; + F41939032B675BC800EAFFFF /* InputMethodKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E93074B60A5C264700470842 /* InputMethodKit.framework */; }; + F41939052B675BCA00EAFFFF /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F41938FF2B675B7400EAFFFF /* IOKit.framework */; }; + F41939072B675BCC00EAFFFF /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F41938F52B675B1200EAFFFF /* QuartzCore.framework */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -187,10 +191,9 @@ /* Begin PBXFileReference section */ 089C165DFE840E0CC02AAC07 /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; - 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; - 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; + 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; }; + 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 32CA4F630368D1EE00C91783 /* Squirrel_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Squirrel_Prefix.pch; sourceTree = ""; }; 441E636322B7E90C006DCCDD /* cangjie5.schema.yaml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = cangjie5.schema.yaml; path = data/plum/cangjie5.schema.yaml; sourceTree = ""; }; 441E636422B7E90C006DCCDD /* terra_pinyin.dict.yaml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = terra_pinyin.dict.yaml; path = data/plum/terra_pinyin.dict.yaml; sourceTree = ""; }; @@ -274,10 +277,13 @@ 8D1107310486CEB800E47090 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; A44571AB0DBF42C200F793F9 /* macos_keycode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = macos_keycode.h; sourceTree = ""; }; A47C48DE105E8CE8006D528B /* macos_keycode.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = macos_keycode.m; sourceTree = ""; }; - A4B8E1B20F645B870094E08B /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = ""; }; + A4B8E1B20F645B870094E08B /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; A4FC48CA0F6530EF0069BE81 /* en */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = ""; }; - D26434542706A15100857391 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; - E93074B60A5C264700470842 /* InputMethodKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = InputMethodKit.framework; path = /System/Library/Frameworks/InputMethodKit.framework; sourceTree = ""; }; + E93074B60A5C264700470842 /* InputMethodKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = InputMethodKit.framework; path = System/Library/Frameworks/InputMethodKit.framework; sourceTree = SDKROOT; }; + F41938F42B675B0500EAFFFF /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + F493BF7A2B76F27E008BD7D0 /* UserNotifications.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UserNotifications.framework; path = System/Library/Frameworks/UserNotifications.framework; sourceTree = SDKROOT; }; + F41938F52B675B1200EAFFFF /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; + F41938FF2B675B7400EAFFFF /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -285,11 +291,15 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D26434552706A15100857391 /* QuartzCore.framework in Frameworks */, - 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */, - E93074B70A5C264700470842 /* InputMethodKit.framework in Frameworks */, - A4B8E1B30F645B870094E08B /* Carbon.framework in Frameworks */, + F41939072B675BCC00EAFFFF /* QuartzCore.framework in Frameworks */, + F41939012B675BC500EAFFFF /* Carbon.framework in Frameworks */, + F41938FA2B675B5B00EAFFFF /* Foundation.framework in Frameworks */, + F41939052B675BCA00EAFFFF /* IOKit.framework in Frameworks */, + F41938F82B675B5700EAFFFF /* Cocoa.framework in Frameworks */, + F41939032B675BC800EAFFFF /* InputMethodKit.framework in Frameworks */, + F41938F62B675B5200EAFFFF /* AppKit.framework in Frameworks */, 447765C925C30E97002415AF /* Sparkle.framework in Frameworks */, + F493BF7B2B76F28A008BD7D0 /* UserNotifications.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -321,7 +331,6 @@ children = ( 44CD640915E2633D0021234E /* librime.1.dylib */, 447765C725C30E6B002415AF /* Sparkle.framework */, - 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */, ); name = "Linked Frameworks"; sourceTree = ""; @@ -329,10 +338,14 @@ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { isa = PBXGroup; children = ( - A4B8E1B20F645B870094E08B /* Carbon.framework */, - E93074B60A5C264700470842 /* InputMethodKit.framework */, 29B97324FDCFA39411CA2CEA /* AppKit.framework */, + A4B8E1B20F645B870094E08B /* Carbon.framework */, + F41938F42B675B0500EAFFFF /* Cocoa.framework */, 29B97325FDCFA39411CA2CEA /* Foundation.framework */, + E93074B60A5C264700470842 /* InputMethodKit.framework */, + F41938FF2B675B7400EAFFFF /* IOKit.framework */, + F41938F52B675B1200EAFFFF /* QuartzCore.framework */, + F493BF7A2B76F27E008BD7D0 /* UserNotifications.framework */, ); name = "Other Frameworks"; sourceTree = ""; @@ -379,7 +392,6 @@ 29B97323FDCFA39411CA2CEA /* Frameworks */ = { isa = PBXGroup; children = ( - D26434542706A15100857391 /* QuartzCore.framework */, 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, ); @@ -602,9 +614,14 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; + CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES; + CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES; + CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_OBJC_ARC = YES; CODE_SIGN_IDENTITY = "-"; + CLANG_TIDY_BUGPRONE_REDUNDANT_BRANCH_CONDITION = YES; + CLANG_TIDY_MISC_REDUNDANT_EXPRESSION = YES; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 0.16.2u; @@ -653,9 +670,14 @@ isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; + CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES; + CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES; + CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_OBJC_ARC = YES; CODE_SIGN_IDENTITY = "-"; + CLANG_TIDY_BUGPRONE_REDUNDANT_BRANCH_CONDITION = YES; + CLANG_TIDY_MISC_REDUNDANT_EXPRESSION = YES; COMBINE_HIDPI_IMAGES = YES; CURRENT_PROJECT_VERSION = 0.16.2u; DEAD_CODE_STRIPPING = YES; @@ -704,6 +726,14 @@ ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_COMPILER_APPICON_NAME = RimeIcon; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES; + CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES; + CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_ARC_EXCEPTIONS = YES; + CLANG_TIDY_BUGPRONE_REDUNDANT_BRANCH_CONDITION = YES; + CLANG_TIDY_MISC_REDUNDANT_EXPRESSION = YES; + CLANG_WARN_ASSIGN_ENUM = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; @@ -711,6 +741,10 @@ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_FLOAT_CONVERSION = YES; + CLANG_WARN_FRAMEWORK_INCLUDE_PRIVATE_FROM_PUBLIC = YES; + CLANG_WARN_IMPLICIT_FALLTHROUGH = YES; + CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; @@ -719,6 +753,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -726,12 +761,18 @@ ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_INPUT_FILETYPE = sourcecode.cpp.objcpp; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_MISSING_NEWLINE = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; + GCC_WARN_SIGN_COMPARE = YES; GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNKNOWN_PRAGMAS = YES; GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_LABEL = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( "$(HEADER_SEARCH_PATHS_QUOTED_FOR_PROJECT_1)", @@ -760,6 +801,14 @@ ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_COMPILER_APPICON_NAME = RimeIcon; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; + CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES; + CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES; + CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_ARC_EXCEPTIONS = YES; + CLANG_TIDY_BUGPRONE_REDUNDANT_BRANCH_CONDITION = YES; + CLANG_TIDY_MISC_REDUNDANT_EXPRESSION = YES; + CLANG_WARN_ASSIGN_ENUM = YES; CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_COMMA = YES; @@ -767,6 +816,10 @@ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_FLOAT_CONVERSION = YES; + CLANG_WARN_FRAMEWORK_INCLUDE_PRIVATE_FROM_PUBLIC = YES; + CLANG_WARN_IMPLICIT_FALLTHROUGH = YES; + CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; @@ -775,6 +828,7 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -782,12 +836,18 @@ DEAD_CODE_STRIPPING = YES; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_INPUT_FILETYPE = sourcecode.cpp.objcpp; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_MISSING_NEWLINE = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES; + GCC_WARN_SIGN_COMPARE = YES; GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNKNOWN_PRAGMAS = YES; GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_LABEL = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( "$(HEADER_SEARCH_PATHS_QUOTED_FOR_PROJECT_1)", diff --git a/action-install.sh b/action-install.sh index 5b754de2b..1886a8058 100755 --- a/action-install.sh +++ b/action-install.sh @@ -3,7 +3,7 @@ set -e rime_version=1.9.0-m -rime_git_hash=8779bc8 +rime_git_hash=3ba735a rime_archive="rime-${rime_git_hash}-macOS.tar.bz2" rime_download_url="https://github.com/groverlynn/librime/releases/download/${rime_version}/${rime_archive}" diff --git a/librime b/librime index 8b678a7ad..3ba735af6 160000 --- a/librime +++ b/librime @@ -1 +1 @@ -Subproject commit 8b678a7ad7553e8e203bbfa784f6fd78fc02a8a1 +Subproject commit 3ba735af657fd81ed2fec8b393d89230b852e279