Module-Shared.xcconfig 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271
  1. // Configuration settings file format documentation can be found at:
  2. // https://help.apple.com/xcode/#/dev745c5c974
  3. // Allow building for multiple platforms with a single build
  4. ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES
  5. // This setting is deprecated as of Xcode 8.3 and may not be supported in future versions. It is recommended that you disable the setting. If enabled, both `#include <header.h>`-style and `#include "header.h"`-style directives search the paths in `USER_HEADER_SEARCH_PATHS` before `HEADER_SEARCH_PATHS`
  6. ALWAYS_SEARCH_USER_PATHS = NO
  7. // !!!: EXPERIMENTAL
  8. // Ensures that your libraries are built for distribution. For Swift, this enables support for library evolution and generation of a module interface file.
  9. BUILD_LIBRARY_FOR_DISTRIBUTION = YES
  10. // Warn when using non-localized strings.
  11. CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
  12. // Warn for missing nullability attributes
  13. CLANG_ANALYZER_NONNULL = YES
  14. // Warn when a number object, such as an instance of `NSNumber`, `CFNumberRef`, `OSNumber`, or `OSBoolean` is compared or converted to a primitive value instead of another object.
  15. CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE
  16. // Choose a standard or non-standard C++ language dialect.
  17. CLANG_CXX_LANGUAGE_STANDARD = gnu++0x
  18. // Choose a version of the C++ standard library to use.
  19. CLANG_CXX_LIBRARY = libc++
  20. // Enables the use of modules for system APIs. System headers are imported as semantic modules instead of raw headers.
  21. CLANG_ENABLE_MODULES = YES
  22. // Compiles reference-counted Objective-C code (when garbage collection is not enabled) to use Automatic Reference Counting.
  23. CLANG_ENABLE_OBJC_ARC = YES
  24. // Warn about block captures of implicitly autoreleasing parameters.
  25. CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES
  26. // Warn about implicit conversions to boolean values that are suspicious. For example, writing `if (foo)` where `foo` is the name a function will trigger a warning.
  27. CLANG_WARN_BOOL_CONVERSION = YES
  28. // Warn about suspicious uses of the comma operator.
  29. CLANG_WARN_COMMA = YES
  30. // Warn about implicit conversions of constant values that cause the constant value to change, either through a loss of precision, or entirely in its meaning.
  31. CLANG_WARN_CONSTANT_CONVERSION = YES
  32. // Warn if an Objective-C class either subclasses a deprecated class or overrides a method that has been marked deprecated or unavailable.
  33. CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES
  34. // Warn about direct accesses to the Objective-C `isa` pointer instead of using a runtime API.
  35. CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR
  36. // Warns about issues in documentation comments (`doxygen`-style) such as missing or incorrect documentation tags.
  37. CLANG_WARN_DOCUMENTATION_COMMENTS = YES
  38. // Warn about declaring the same method more than once within the same `@interface`.
  39. CLANG_WARN__DUPLICATE_METHOD_MATCH = YES
  40. // Warn about loop bodies that are suspiciously empty.
  41. CLANG_WARN_EMPTY_BODY = YES
  42. // Warn about implicit conversions between different kinds of enum values. For example, this can catch issues when using the wrong enum flag as an argument to a function or method.
  43. CLANG_WARN_ENUM_CONVERSION = YES
  44. // Warn if all paths through a function call itself.
  45. CLANG_WARN_INFINITE_RECURSION = YES
  46. // Warn about implicit conversions between pointers and integers. For example, this can catch issues when one incorrectly intermixes using `NSNumber*`'s and raw integers.
  47. CLANG_WARN_INT_CONVERSION = YES
  48. // Warn about non-literal expressions that evaluate to zero being treated as a null pointer.
  49. CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES
  50. // Warn about `@property` declarations that are implicitly atomic.
  51. CLANG_WARN_OBJC_IMPLICIT_ATOMIC_PROPERTIES = NO
  52. // Warn about implicit retains of `self` within blocks, which can create a retain-cycle.
  53. CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES
  54. // Warn about implicit conversions from Objective-C literals to values of incompatible type.
  55. CLANG_WARN_OBJC_LITERAL_CONVERSION = YES
  56. // Warn about classes that unintentionally do not subclass a root class, such as `NSObject`.
  57. CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR
  58. // Warns when a quoted include is used instead of a framework style include in a framework header.
  59. CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES
  60. // Warn about ranged-based for loops.
  61. CLANG_WARN_RANGE_LOOP_ANALYSIS = YES
  62. // Warn about non-prototype declarations.
  63. CLANG_WARN_STRICT_PROTOTYPES = YES
  64. // Warn about suspicious uses of `std::move`.
  65. CLANG_WARN_SUSPICIOUS_MOVE = YES
  66. // Warn if an API that is newer than the deployment target is used without "if (@available(...))" guards.
  67. CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE
  68. // Warns about potentially unreachable code.
  69. CLANG_WARN_UNREACHABLE_CODE = YES
  70. // Warns about implicit conversion from nullable pointer to non-nullable pointer.
  71. CLANG_WARN_NULLABLE_TO_NONNULL_CONVERSION = YES
  72. // The path to a file specifying code-signing entitlements.
  73. CODE_SIGN_ENTITLEMENTS =
  74. // The name, also known as the *common name*, of a valid code-signing certificate in a keychain within your keychain path. A missing or invalid certificate will cause a build error.
  75. CODE_SIGN_IDENTITY =
  76. // This setting defines the current version of the project. The value must be a integer or floating point number, such as `57` or `365.8`.
  77. CURRENT_PROJECT_VERSION = 1
  78. // Enable dead code stripping.
  79. DEAD_CODE_STRIPPING = YES
  80. // If enabled, the product will be treated as defining its own module. This enables automatic production of LLVM module map files when appropriate, and allows the product to be imported as a module.
  81. DEFINES_MODULE = YES
  82. // macOS Catalyst support
  83. DERIVE_MACCATALYST_PRODUCT_BUNDLE_IDENTIFIER = NO
  84. // Determines the compatibility version of the resulting library, bundle, or framework binary.
  85. DYLIB_COMPATIBILITY_VERSION = 1
  86. // This setting defines the current version of any framework built by the project. As with `CURRENT_PROJECT_VERSION`, the value must be an integer or floating point number, such as `57` or `365.8`.
  87. DYLIB_CURRENT_VERSION = 1
  88. // Sets the base value for the internal `install path` (`LC_ID_DYLIB`) in a dynamic library. This will be combined with the `EXECUTABLE_PATH` to form the full install path.
  89. DYLIB_INSTALL_NAME_BASE = @rpath
  90. ENABLE_MODULE_VERIFIER = YES
  91. // Controls whether `objc_msgSend` calls must be cast to the appropriate function pointer type before being called.
  92. ENABLE_STRICT_OBJC_MSGSEND = YES
  93. // Sandbox build scripts.
  94. ENABLE_USER_SCRIPT_SANDBOXING = YES
  95. // This is a list of paths to folders containing frameworks to be searched by the compiler for both included or imported header files when compiling C, Objective-C, C++, or Objective-C++, and by the linker for frameworks used by the product. Paths are delimited by whitespace, so any paths with spaces in them must be properly quoted.
  96. FRAMEWORK_SEARCH_PATHS = $(inherited)
  97. // Choose a standard or non-standard C language dialect.
  98. GCC_C_LANGUAGE_STANDARD = gnu99
  99. // Faster function calls for applications. Not appropriate for shared libraries, which need to be position-independent.
  100. GCC_DYNAMIC_NO_PIC = NO
  101. // In C, allocate even uninitialized global variables in the data section of the object file, rather than generating them as common blocks.
  102. GCC_NO_COMMON_BLOCKS = YES
  103. // When enabled, all symbols are declared `private extern` unless explicitly marked to be exported using `\_\_attribute\_\_((visibility("default")))` in code. If not enabled, all symbols are exported unless explicitly marked as `private extern`.
  104. GCC_SYMBOLS_PRIVATE_EXTERN = NO
  105. // Enabling this option causes all warnings to be treated as errors.
  106. GCC_TREAT_WARNINGS_AS_ERRORS = NO
  107. // Warn if a value is implicitly converted from a 64-bit type to a 32-bit type. This is a subset of the warnings provided by -Wconversion.
  108. GCC_WARN_64_TO_32_BIT_CONVERSION = YES
  109. // Warn if a structure's initializer has some fields missing.
  110. GCC_WARN_ABOUT_MISSING_FIELD_INITIALIZERS = YES
  111. // Warn when a source file does not end with a newline.
  112. GCC_WARN_ABOUT_MISSING_NEWLINE = YES
  113. // Causes warnings to be emitted about missing prototypes.
  114. GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES
  115. // Causes warnings to be emitted when a function with a defined return type (not `void`) contains a return statement without a return-value. Also emits a warning when a function is defined without specifying a return type.
  116. GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR
  117. // Warn if an aggregate or union initializer is not fully bracketed.
  118. GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES
  119. // Warn whenever a local variable shadows another local variable, parameter or global variable or whenever a builtin function is shadowed.
  120. GCC_WARN_SHADOW = YES
  121. // Warn when a comparison between signed and unsigned values could produce an incorrect result when the signed value is converted to unsigned.
  122. GCC_WARN_SIGN_COMPARE = YES
  123. // Warn if a `@selector(...)` expression referring to an undeclared selector is found. A selector is considered undeclared if no method with that name has been declared before the `@selector(...)` expression, either explicitly in an `@interface` or `@protocol` declaration, or implicitly in an `@implementation` section.
  124. GCC_WARN_UNDECLARED_SELECTOR = YES
  125. // Warn if a variable might be clobbered by a `setjmp` call or if an automatic variable is used without prior initialization. The compiler may not detect all cases where an automatic variable is initialized or all usage patterns that may lead to use prior to initialization.
  126. GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE
  127. // Warn whenever a static function is declared but not defined or a noninline static function is unused.
  128. GCC_WARN_UNUSED_FUNCTION = YES
  129. // Warn whenever a label is declared but not used.
  130. GCC_WARN_UNUSED_LABEL = YES
  131. // Warn whenever a function parameter is unused aside from its declaration.
  132. GCC_WARN_UNUSED_PARAMETER = NO
  133. // Warn whenever a local variable or nonconstant static variable is unused aside from its declaration.
  134. GCC_WARN_UNUSED_VARIABLE = YES
  135. // This is a list of paths to folders to be searched by the compiler for included or imported header files when compiling C, Objective-C, C++, or Objective-C++. Paths are delimited by whitespace, so any paths with spaces in them need to be properly quoted.
  136. HEADER_SEARCH_PATHS = $(inherited)
  137. // Code will load on this and later versions of iOS. Framework APIs that are unavailable in earlier versions will be weak-linked; your code should check for null function pointers or specific system versions before calling newer APIs.
  138. IPHONEOS_DEPLOYMENT_TARGET = 12.0
  139. // This is a list of paths to be added to the `runpath` search path list for the image being created. At runtime, `dyld` uses the `runpath` when searching for dylibs whose load path begins with `@rpath/`.
  140. LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks
  141. // This is a list of paths to folders to be searched by the linker for libraries used by the product. Paths are delimited by whitespace, so any paths with spaces in them need to be properly quoted.
  142. LIBRARY_SEARCH_PATHS = $(inherited)
  143. // Code will load on this and later versions of macOS. Framework APIs that are unavailable in earlier versions will be weak-linked; your code should check for null function pointers or specific system versions before calling newer APIs.
  144. MACOSX_DEPLOYMENT_TARGET = 10.13
  145. MARKETING_VERSION = 3.9.0
  146. MODULE_VERIFIER_SUPPORTED_LANGUAGES = objective-c objective-c++;
  147. MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = gnu99 gnu++11;
  148. WARNING_CFLAGS = -Wextra -Wextra-semi -Wdouble-promotion
  149. // Options defined in this setting are passed to invocations of the linker.
  150. OTHER_LDFLAGS = -ObjC
  151. // A string that uniquely identifies the bundle. The string should be in reverse DNS format using only alphanumeric characters (`A-Z`, `a-z`, `0-9`), the dot (`.`), and the hyphen (`-`). This value is used as the `CFBundleIdentifier` in the `Info.plist` of the built bundle.
  152. PRODUCT_BUNDLE_IDENTIFIER_PREFIX = com.deusty
  153. PRODUCT_BUNDLE_IDENTIFIER = $(PRODUCT_BUNDLE_IDENTIFIER_PREFIX).${PRODUCT_NAME:rfc1034identifier}
  154. // This is the basename of the product generated by the target.
  155. PRODUCT_NAME = $(TARGET_NAME)
  156. // Must contain a profile name (or UUID). A missing or invalid profile will cause a build error. Use in conjunction with [DEVELOPMENT_TEAM] to fully specify provisioning profile.
  157. PROVISIONING_PROFILE_SPECIFIER =
  158. // Activating this setting will cause Xcode to run the `Clang` static analysis tool on qualifying source files during every build.
  159. RUN_CLANG_STATIC_ANALYZER = YES
  160. // The name or path of the base SDK being used during the build. The product will be built against the headers and libraries located inside the indicated SDK. This path will be prepended to all search paths, and will be passed through the environment to the compiler and linker. Additional SDKs can be specified in the `ADDITIONAL_SDKS` setting.
  161. SDKROOT = macosx
  162. // If enabled, don't install built products even if deployment locations are active.
  163. SKIP_INSTALL = YES
  164. // The list of supported platforms from which a base SDK can be used. This setting is used if the product can be built for multiple platforms using different SDKs.
  165. SUPPORTED_PLATFORMS = macosx iphoneos iphonesimulator watchsimulator watchos appletvsimulator appletvos xros xrsimulator
  166. // macOS Catalyst support
  167. SUPPORTS_MACCATALYST = YES
  168. // A list of compilation conditions to enable for conditional compilation expressions.
  169. SWIFT_ACTIVE_COMPILATION_CONDITIONS = $(inherited)
  170. // Swift language version
  171. SWIFT_VERSION = 6.0
  172. // The build system uses the selected device to set the correct value for the `UIDeviceFamily` key it adds to the target's `Info.plist` file. This also drives the --target-device flag to actool, which determines the idioms selected during catalog compilation for iOS platforms.
  173. TARGETED_DEVICE_FAMILY = 1,2,3,4,7
  174. // Code will load on this and later versions of tvOS. Framework APIs that are unavailable in earlier versions will be weak-linked; your code should check for null function pointers or specific system versions before calling newer APIs.
  175. TVOS_DEPLOYMENT_TARGET = 12.0
  176. // Selects the process used for version-stamping generated files. * *None:* Use no versioning system. * *Apple Generic:* Use the current project version setting. [apple-generic]
  177. VERSIONING_SYSTEM = apple-generic
  178. // Code will load on this and later versions of visionOS. Framework APIs that are unavailable in earlier versions will be weak-linked; your code should check for null function pointers or specific system versions before calling newer APIs.
  179. XROS_DEPLOYMENT_TARGET = 1.0
  180. // Code will load on this and later versions of watchOS. Framework APIs that are unavailable in earlier versions will be weak-linked; your code should check for null function pointers or specific system versions before calling newer APIs.
  181. WATCHOS_DEPLOYMENT_TARGET = 5.0