-
Notifications
You must be signed in to change notification settings - Fork 78
/
spotify_os.xcconfig
183 lines (165 loc) · 6.8 KB
/
spotify_os.xcconfig
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
// Copyright (c) 2015-2021 Spotify AB.
//
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
// A set of configurations used for Spotify Objective-C Open Source Projects
IPHONEOS_DEPLOYMENT_TARGET = 12.0
WATCHOS_DEPLOYMENT_TARGET = 3.0
TVOS_DEPLOYMENT_TARGET = 12.0
MACOSX_DEPLOYMENT_TARGET = 10.12
ENABLE_NS_ASSERTIONS = $(YES_FOR_DEBUG)
ENABLE_TESTABILITY = $(YES_FOR_DEBUG)
ONLY_ACTIVE_ARCH = $(YES_FOR_DEBUG)
VALIDATE_PRODUCT = $(YES_FOR_RELEASE)
SKIP_INSTALL = YES
COPY_PHASE_STRIP = NO
DEBUG_INFORMATION_FORMAT_Debug = dwarf
DEBUG_INFORMATION_FORMAT_Release = dwarf-with-dsym
DEBUG_INFORMATION_FORMAT = $(DEBUG_INFORMATION_FORMAT_$(CONFIGURATION))
SUPPORTED_PLATFORMS = macosx iphoneos iphonesimulator watchsimulator appletvsimulator watchos appletvos
CLANG_ENABLE_MODULES = YES
CLANG_MODULES_AUTOLINK = NO
CLANG_ENABLE_OBJC_ARC = YES
ENABLE_STRICT_OBJC_MSGSEND = YES
GCC_DYNAMIC_NO_PIC = NO
GCC_NO_COMMON_BLOCKS = YES
GCC_OPTIMIZATION_LEVEL_Debug = 0
GCC_OPTIMIZATION_LEVEL_Release = s
GCC_OPTIMIZATION_LEVEL = $(GCC_OPTIMIZATION_LEVEL_$(CONFIGURATION))
GCC_SYMBOLS_PRIVATE_EXTERN = NO
ALWAYS_SEARCH_USER_PATHS = NO
// Spotify language and std-library standards
GCC_C_LANGUAGE_STANDARD = gnu11
CLANG_CXX_LANGUAGE_STANDARD = c++11
CLANG_CXX_LIBRARY = libc++
SPOTIFY_OS_CONFIG_PREPROCESSOR_DEFINITIONS_Debug = DEBUG=1 _DEBUG=1
SPOTIFY_OS_CONFIG_PREPROCESSOR_DEFINITIONS_Release =
SPOTIFY_OS_CONFIG_PREPROCESSOR_DEFINITIONS = $(SPOTIFY_OS_CONFIG_PREPROCESSOR_DEFINITIONS_$(CONFIGURATION))
GCC_PREPROCESSOR_DEFINITIONS = $SPOTIFY_OS_CONFIG_PREPROCESSOR_DEFINITIONS
OTHER_LDFLAGS = -ObjC
// Simplify booleans for debug/release
YES_FOR_DEBUG_Debug = YES
YES_FOR_DEBUG_Release = NO
YES_FOR_DEBUG = $(YES_FOR_DEBUG_$(CONFIGURATION))
YES_FOR_RELEASE_Debug = NO
YES_FOR_RELEASE_Release = YES
YES_FOR_RELEASE = $(YES_FOR_RELEASE_$(CONFIGURATION))
// Warnings:
// Attribution: https://github.com/jonreid/XcodeWarnings
WARNING_CFLAGS = -Weverything -Wno-error=deprecated -Wno-objc-missing-property-synthesis -Wno-gnu-conditional-omitted-operand -Wno-gnu -Wno-documentation-unknown-command -Wno-reserved-id-macro -Wno-auto-import -Wno-missing-variable-declarations -Wno-c++98-compat -Werror -Wno-direct-ivar-access -Wno-padded -Wno-declaration-after-statement
// Warnings
CLANG_WARN__ARC_BRIDGE_CAST_NONARC = YES
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES
CLANG_WARN__EXIT_TIME_DESTRUCTORS = YES
CLANG_WARN_ASSIGN_ENUM = YES
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES
CLANG_WARN_BOOL_CONVERSION = YES
CLANG_WARN_COMMA = YES
CLANG_WARN_CONSTANT_CONVERSION = YES
CLANG_WARN_CXX0X_EXTENSIONS = YES
CLANG_WARN_DELETE_NON_VIRTUAL_DTOR = YES
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR
CLANG_WARN_DOCUMENTATION_COMMENTS = YES
CLANG_WARN_EMPTY_BODY = YES
CLANG_WARN_ENUM_CONVERSION = YES
CLANG_WARN_FLOAT_CONVERSION = YES
CLANG_WARN_IMPLICIT_SIGN_CONVERSION = YES
CLANG_WARN_INFINITE_RECURSION = YES
CLANG_WARN_INT_CONVERSION = YES
CLANG_WARN_MISSING_NOESCAPE = YES
CLANG_WARN_NON_LITERAL_NULL_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_INTERFACE_IVARS = YES
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES
CLANG_WARN_OBJC_MISSING_PROPERTY_SYNTHESIS = YES
CLANG_WARN_OBJC_REPEATED_USE_OF_WEAK = YES
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR
CLANG_WARN_PRAGMA_PACK = YES
CLANG_WARN_PRIVATE_MODULE = YES
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES
CLANG_WARN_SEMICOLON_BEFORE_METHOD_BODY = YES
CLANG_WARN_STRICT_PROTOTYPES = YES
CLANG_WARN_SUSPICIOUS_IMPLICIT_CONVERSION = YES
CLANG_WARN_SUSPICIOUS_MOVE = YES
CLANG_WARN_UNGUARDED_AVAILABILITY = YES
CLANG_WARN_UNREACHABLE_CODE = YES
CLANG_WARN_VEXING_PARSE = YES
GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES
GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES
GCC_TREAT_WARNINGS_AS_ERRORS = YES
GCC_WARN_64_TO_32_BIT_CONVERSION = YES
GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES
GCC_WARN_ABOUT_INVALID_OFFSETOF_MACRO = YES
GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES
GCC_WARN_ABOUT_MISSING_NEWLINE = YES
GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES
GCC_WARN_ABOUT_POINTER_SIGNEDNESS = YES
GCC_WARN_ABOUT_RETURN_TYPE = YES
GCC_WARN_ALLOW_INCOMPLETE_PROTOCOL = YES
GCC_WARN_CHECK_SWITCH_STATEMENTS = YES
GCC_WARN_FOUR_CHARACTER_CONSTANTS = YES
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES
GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES
GCC_WARN_MISSING_PARENTHESES = 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_TYPECHECK_CALLS_TO_PRINTF = 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_PARAMETER = NO
GCC_WARN_UNUSED_VALUE = YES
GCC_WARN_UNUSED_VARIABLE = YES
// Static Analyzer - Analysis Policy
RUN_CLANG_STATIC_ANALYZER = YES
CLANG_STATIC_ANALYZER_MODE_ON_ANALYZE_ACTION = Deep
CLANG_STATIC_ANALYZER_MODE = Deep
// Static Analyzer - Issues
CLANG_ANALYZER_DEADCODE_DEADSTORES = YES
CLANG_ANALYZER_GCD = YES
CLANG_ANALYZER_GCD_PERFORMANCE = YES
CLANG_ANALYZER_LOCALIZABILITY_EMPTY_CONTEXT = NO
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = NO
CLANG_ANALYZER_MEMORY_MANAGEMENT = YES
CLANG_ANALYZER_NONNULL = YES
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES
CLANG_ANALYZER_OBJC_ATSYNC = YES
CLANG_ANALYZER_OBJC_COLLECTIONS = YES
CLANG_ANALYZER_OBJC_DEALLOC = YES
CLANG_ANALYZER_OBJC_GENERICS = YES
CLANG_ANALYZER_OBJC_INCOMP_METHOD_TYPES = YES
CLANG_ANALYZER_OBJC_NSCFERROR = YES
CLANG_ANALYZER_OBJC_RETAIN_COUNT = YES
CLANG_ANALYZER_OBJC_SELF_INIT = YES
CLANG_ANALYZER_OBJC_UNUSED_IVARS = YES
CLANG_ANALYZER_SECURITY_FLOATLOOPCOUNTER = YES
CLANG_ANALYZER_SECURITY_INSECUREAPI_GETPW_GETS = YES
CLANG_ANALYZER_SECURITY_INSECUREAPI_MKSTEMP = YES
CLANG_ANALYZER_SECURITY_INSECUREAPI_RAND = YES
CLANG_ANALYZER_SECURITY_INSECUREAPI_STRCPY = YES
CLANG_ANALYZER_SECURITY_INSECUREAPI_UNCHECKEDRETURN = YES
CLANG_ANALYZER_SECURITY_INSECUREAPI_VFORK = YES
CLANG_ANALYZER_SECURITY_KEYCHAIN_API = YES