mirror of
https://github.com/sparkle-project/Sparkle.git
synced 2025-11-01 15:34:38 +00:00
166 lines
9.3 KiB
Plaintext
166 lines
9.3 KiB
Plaintext
// Common
|
|
|
|
// Set to 1 or 0 to build and bundle the provided XPC Services in Sparkle framework
|
|
// (Note for testing purposes for sandboxed apps, disabling all XPC services and then re-enabling them
|
|
// may not work on the same login session due to a system caching issue. See comments for setting FRAMEWORK_VERSION for more info)
|
|
SPARKLE_EMBED_INSTALLER_LAUNCHER_XPC_SERVICE = 1
|
|
// Embedding the downloader service also enables building legacy WebKit1 support
|
|
SPARKLE_EMBED_DOWNLOADER_XPC_SERVICE = 1
|
|
SPARKLE_EMBED_INSTALLER_STATUS_XPC_SERVICE = 0
|
|
SPARKLE_EMBED_INSTALLER_CONNECTION_XPC_SERVICE = 0
|
|
|
|
// Set to 0 to disable building legacy 1.x SUUpdater stub
|
|
SPARKLE_BUILD_LEGACY_SUUPDATER = 1
|
|
|
|
// Set to 0 to not build legacy DSA signing support
|
|
// Don't disable this if you haven't migrated to EdDSA yet or if you support updating
|
|
// other developer's applications that haven't migrated to EdDSA yet
|
|
// If this is disabled, this requires an update to OTHER_SWIFT_FLAGS_COMMON below
|
|
SPARKLE_BUILD_LEGACY_DSA_SUPPORT = 1
|
|
|
|
// Set to 0 to not build legacy DSA signing support for generate_appcast
|
|
// Don't disable this if you still have items in your appcast feed that still need DSA signatures
|
|
// If this is disabled, this requires an update to OTHER_SWIFT_FLAGS_COMMON below
|
|
GENERATE_APPCAST_BUILD_LEGACY_DSA_SUPPORT = 1
|
|
|
|
// Set to 0 to not build legacy / xar based delta update support
|
|
SPARKLE_BUILD_LEGACY_DELTA_SUPPORT = 1
|
|
|
|
// Set to 0 to not build bzip2 support for version 3 delta based updates
|
|
SPARKLE_BUILD_BZIP2_DELTA_SUPPORT = 1
|
|
|
|
// Set to 0 to not build support for package (pkg) based installations
|
|
// If this is disabled, this requires an update to OTHER_SWIFT_FLAGS_COMMON below
|
|
SPARKLE_BUILD_PACKAGE_SUPPORT = 1
|
|
|
|
// Set to 0 to not build support for extracting updates from disk images (dmgs)
|
|
// If this is disabled, this requires an update to OTHER_SWIFT_FLAGS_COMMON below
|
|
SPARKLE_BUILD_DMG_SUPPORT = 1
|
|
|
|
// Set to 0 to only build all non-UI bits (which means client uses a custom SPUUserDriver)
|
|
SPARKLE_BUILD_UI_BITS = 1
|
|
|
|
// Set to 0 to not use and copy localization / string files to framework
|
|
SPARKLE_COPY_LOCALIZATIONS = 1
|
|
|
|
// Compilation flags for Swift tools and unit tests
|
|
// If SPARKLE_BUILD_LEGACY_DELTA_SUPPORT is set to 0, remove -DSPARKLE_BUILD_LEGACY_DSA_SUPPORT
|
|
// If GENERATE_APPCAST_BUILD_LEGACY_DSA_SUPPORT is set to 0, remove -DGENERATE_APPCAST_BUILD_LEGACY_DSA_SUPPORT
|
|
// If SPARKLE_BUILD_PACKAGE_SUPPORT is set to 0, remove -DSPARKLE_BUILD_PACKAGE_SUPPORT
|
|
// If SPARKLE_BUILD_DMG_SUPPORT is set to 0, remove -DSPARKLE_BUILD_DMG_SUPPORT
|
|
OTHER_SWIFT_FLAGS_COMMON = -DSPARKLE_BUILD_LEGACY_DSA_SUPPORT -DGENERATE_APPCAST_BUILD_LEGACY_DSA_SUPPORT -DSPARKLE_BUILD_PACKAGE_SUPPORT -DSPARKLE_BUILD_DMG_SUPPORT
|
|
|
|
// Minimum supported macOS version
|
|
MACOSX_DEPLOYMENT_TARGET = 10.13
|
|
|
|
// Supported architectures
|
|
ARCHS = $(ARCHS_STANDARD)
|
|
|
|
// Default Sparkle names
|
|
SPARKLE_BUNDLE_IDENTIFIER = org.sparkle-project.Sparkle
|
|
SPARKLE_RELAUNCH_TOOL_NAME = Autoupdate
|
|
SPARKLE_INSTALLER_PROGRESS_TOOL_NAME = Updater
|
|
SPARKLE_INSTALLER_PROGRESS_TOOL_BUNDLE_ID = $(SPARKLE_BUNDLE_IDENTIFIER).$(SPARKLE_INSTALLER_PROGRESS_TOOL_NAME)
|
|
|
|
// Set these if you want to use custom name for the XPC Services
|
|
// For the Installer one in particular, this name may show up in an authorization prompt
|
|
// when installing an update that requires authorization.
|
|
INSTALLER_CONNECTION_NAME = InstallerConnection
|
|
INSTALLER_STATUS_NAME = InstallerStatus
|
|
INSTALLER_LAUNCHER_NAME = Installer
|
|
DOWNLOADER_NAME = Downloader
|
|
|
|
// Set this to your own prefix if you want to use XPC Service bundle IDs with different prefix
|
|
XPC_SERVICE_BUNDLE_ID_PREFIX = org.sparkle-project
|
|
|
|
INSTALLER_CONNECTION_BUNDLE_ID = ${XPC_SERVICE_BUNDLE_ID_PREFIX}.InstallerConnection
|
|
INSTALLER_STATUS_BUNDLE_ID = ${XPC_SERVICE_BUNDLE_ID_PREFIX}.InstallerStatus
|
|
INSTALLER_LAUNCHER_BUNDLE_ID = ${XPC_SERVICE_BUNDLE_ID_PREFIX}.InstallerLauncher
|
|
DOWNLOADER_BUNDLE_ID = ${XPC_SERVICE_BUNDLE_ID_PREFIX}.Downloader
|
|
|
|
// If your app file on disk is named "MyApp 1.1b4", Sparkle usually updates it
|
|
// in place, giving you an app named 1.1b4 that is actually 1.2. Turn the
|
|
// following on to always reset the name back to "MyApp"
|
|
// If you are using this option to change the name of your app, you should
|
|
// disable the option again when you no longer need it
|
|
// Note this option is only supported for regular application updates and not plug-ins
|
|
SPARKLE_NORMALIZE_INSTALLED_APPLICATION_NAME = 0
|
|
|
|
SPARKLE_ICON_NAME = AppIcon
|
|
|
|
// If you change any of these version details, you must increase CURRENT_PROJECT_VERSION
|
|
// These variables must have a space after the '=' too
|
|
SPARKLE_VERSION_MAJOR = 2
|
|
SPARKLE_VERSION_MINOR = 5
|
|
SPARKLE_VERSION_PATCH = 0
|
|
|
|
// This should be in SemVer format or empty, ie. "-beta.1"
|
|
// These variables must have a space after the '=' too
|
|
SPARKLE_VERSION_SUFFIX =
|
|
CURRENT_PROJECT_VERSION = 2031
|
|
|
|
MARKETING_VERSION = $(SPARKLE_VERSION_MAJOR).$(SPARKLE_VERSION_MINOR).$(SPARKLE_VERSION_PATCH)$(SPARKLE_VERSION_SUFFIX)
|
|
ALWAYS_SEARCH_USER_PATHS = NO
|
|
ENABLE_STRICT_OBJC_MSGSEND = YES
|
|
GCC_SYMBOLS_PRIVATE_EXTERN = YES
|
|
GCC_INLINES_ARE_PRIVATE_EXTERN = YES
|
|
PRODUCT_NAME = ${TARGET_NAME}
|
|
PRODUCT_BUNDLE_IDENTIFIER = org.sparkle-project.Sparkle.${PRODUCT_NAME:rfc1034identifier}
|
|
|
|
GCC_PREPROCESSOR_DEFINITIONS_COMMON = SPU_OBJC_DIRECT=__attribute__((objc_direct)) SPU_OBJC_DIRECT_MEMBERS=__attribute__((objc_direct_members)) SPARKLE_NORMALIZE_INSTALLED_APPLICATION_NAME=$(SPARKLE_NORMALIZE_INSTALLED_APPLICATION_NAME) SPARKLE_BUILD_UI_BITS=$(SPARKLE_BUILD_UI_BITS) SPARKLE_COPY_LOCALIZATIONS=$(SPARKLE_COPY_LOCALIZATIONS) SPARKLE_BUILD_LEGACY_SUUPDATER=$(SPARKLE_BUILD_LEGACY_SUUPDATER) SPARKLE_BUILD_PACKAGE_SUPPORT=$(SPARKLE_BUILD_PACKAGE_SUPPORT) SPARKLE_BUILD_DMG_SUPPORT=$(SPARKLE_BUILD_DMG_SUPPORT) SPARKLE_BUILD_LEGACY_DELTA_SUPPORT=$(SPARKLE_BUILD_LEGACY_DELTA_SUPPORT) SPARKLE_BUILD_BZIP2_DELTA_SUPPORT=$(SPARKLE_BUILD_BZIP2_DELTA_SUPPORT) SPARKLE_BUILD_LEGACY_DSA_SUPPORT=$(SPARKLE_BUILD_LEGACY_DSA_SUPPORT) GENERATE_APPCAST_BUILD_LEGACY_DSA_SUPPORT=$(GENERATE_APPCAST_BUILD_LEGACY_DSA_SUPPORT) SPARKLE_BUNDLE_IDENTIFIER=\"$(SPARKLE_BUNDLE_IDENTIFIER)\" CURRENT_PROJECT_VERSION=\"$(CURRENT_PROJECT_VERSION)\" MARKETING_VERSION=\"$(MARKETING_VERSION)\" SPARKLE_RELAUNCH_TOOL_NAME=\"$(SPARKLE_RELAUNCH_TOOL_NAME)\" SPARKLE_INSTALLER_PROGRESS_TOOL_NAME=\"$(SPARKLE_INSTALLER_PROGRESS_TOOL_NAME)\" SPARKLE_INSTALLER_PROGRESS_TOOL_BUNDLE_ID=\"$(SPARKLE_INSTALLER_PROGRESS_TOOL_BUNDLE_ID)\" SPARKLE_ICON_NAME=\"$(SPARKLE_ICON_NAME)\" INSTALLER_LAUNCHER_NAME=\"${INSTALLER_LAUNCHER_NAME}\" INSTALLER_LAUNCHER_BUNDLE_ID=\"${INSTALLER_LAUNCHER_BUNDLE_ID}\" INSTALLER_LAUNCHER_XPC_SERVICE_EMBEDDED=$(SPARKLE_EMBED_INSTALLER_LAUNCHER_XPC_SERVICE) INSTALLER_CONNECTION_NAME=\"${INSTALLER_CONNECTION_NAME}\" INSTALLER_CONNECTION_BUNDLE_ID=\"${INSTALLER_CONNECTION_BUNDLE_ID}\" INSTALLER_CONNECTION_XPC_SERVICE_EMBEDDED=$(SPARKLE_EMBED_INSTALLER_CONNECTION_XPC_SERVICE) INSTALLER_STATUS_NAME=\"${INSTALLER_STATUS_NAME}\" INSTALLER_STATUS_BUNDLE_ID=\"${INSTALLER_STATUS_BUNDLE_ID}\" INSTALLER_STATUS_XPC_SERVICE_EMBEDDED=$(SPARKLE_EMBED_INSTALLER_STATUS_XPC_SERVICE) DOWNLOADER_NAME=\"${DOWNLOADER_NAME}\" DOWNLOADER_BUNDLE_ID=\"${DOWNLOADER_BUNDLE_ID}\" DOWNLOADER_XPC_SERVICE_EMBEDDED=$(SPARKLE_EMBED_DOWNLOADER_XPC_SERVICE)
|
|
|
|
CODE_SIGN_IDENTITY = -
|
|
SDKROOT = macosx
|
|
ENABLE_HARDENED_RUNTIME = YES
|
|
CLANG_ENABLE_OBJC_ARC = YES
|
|
GCC_ENABLE_PASCAL_STRINGS = NO
|
|
GCC_NO_COMMON_BLOCKS = YES
|
|
COMBINE_HIDPI_IMAGES = NO
|
|
|
|
// Enable warnings
|
|
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES
|
|
CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES
|
|
CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES
|
|
CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES
|
|
CLANG_ENABLE_MODULES = YES
|
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES
|
|
CLANG_WARN_ASSIGN_ENUM = YES
|
|
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES
|
|
CLANG_WARN_DOCUMENTATION_COMMENTS = YES
|
|
CLANG_WARN_EMPTY_BODY = YES
|
|
CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES
|
|
CLANG_WARN_OBJC_EXPLICIT_OWNERSHIP_TYPE = YES
|
|
CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = YES
|
|
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES
|
|
CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS = YES
|
|
CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES
|
|
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES
|
|
CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES
|
|
CLANG_WARN_UNREACHABLE_CODE = YES
|
|
GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES
|
|
GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES
|
|
GCC_WARN_64_TO_32_BIT_CONVERSION = YES
|
|
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES
|
|
GCC_WARN_ABOUT_MISSING_NEWLINE = YES
|
|
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES
|
|
GCC_WARN_ABOUT_RETURN_TYPE = YES
|
|
GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES
|
|
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES
|
|
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES
|
|
GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES
|
|
GCC_WARN_MULTIPLE_DEFINITION_TYPES_FOR_SELECTOR = YES
|
|
GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES
|
|
GCC_WARN_PEDANTIC = YES
|
|
GCC_WARN_SHADOW = YES
|
|
GCC_WARN_SIGN_COMPARE = YES
|
|
GCC_WARN_STRICT_SELECTOR_MATCH = YES
|
|
GCC_WARN_UNDECLARED_SELECTOR = YES
|
|
GCC_WARN_UNKNOWN_PRAGMAS = YES
|
|
GCC_WARN_UNUSED_FUNCTION = YES
|
|
GCC_WARN_UNUSED_LABEL = YES
|
|
GCC_WARN_UNUSED_PARAMETER = YES
|
|
GCC_WARN_UNUSED_VARIABLE = YES
|
|
|
|
// Turn on all warnings, then disable a few which are almost impossible to avoid
|
|
WARNING_CFLAGS = -Wall -Weverything -Wno-unused-macros -Wno-gnu-statement-expression -Wno-auto-import -Wno-gnu-zero-variadic-macro-arguments -Wno-format-non-iso -Wno-direct-ivar-access -Wno-declaration-after-statement -Werror=undef
|