https://developer.apple.com/library/mac/documentation/DeveloperTools/Reference/XcodeBuildSettingRef/1-Build_Setting_Reference/build_setting_ref.html#//apple_ref/doc/uid/TP40003931-CH3-DontLinkElementID_10
Product Information Build Settings
These build settings specify properties of the product the target builds.
ARCHS (Architectures)
Description: |
Space-separated list of identifiers. Specifies the architectures (ABIs, processor models) to which the binary is targeted. When this build setting specifies more than one architecture, the generated binary may contain object code for each of the specified architectures. |
Values: |
|
Effector: |
|
Default value: |
|
Example value: |
|
Companion: |
“VALID_ARCHS (Valid Architectures),” “ONLY_ACTIVE_ARCH (Build Active Architecture Only).” |
Prerequisite for: |
DYLIB_COMPATIBILITY_VERSION (Compatibility Version)
Description: |
Number. Specifies the compatibility version of a dynamic library product. See “Dynamic Library Design Guidelines” in Dynamic Library Programming Topics for details on assigning version numbers of dynamic libraries. |
Default value: |
|
Companion: |
DYLIB_CURRENT_VERSION (Current Library Version)
Description: |
Number. Specifies the current version of a dynamic library product. See ““Dynamic Library Design Guidelines”” in Dynamic Library Programming Topics for details on assigning version numbers of dynamic libraries. |
Default value: |
|
Companions: |
GENERATE_PKGINFO_FILE (Force Package Info Generation)
Description: |
Boolean value. Specifies whether to generate the product’s package information file. For details on the package information file, see ““Additional Configuration Tips”” in Runtime Configuration Guidelines. |
Values: |
|
Default value: |
|
Companions: |
MACH_O_TYPE
Description: |
Identifier. Specifies the binary’s type. For information on binary types, see ““Building Mach-O Files”” in Mach-O Programming Topics. |
Effector: |
Target type, specified at the time the target is created. |
Default value: |
|
Effects: |
“GCC_ENABLE_SYMBOL_SEPARATION (Separate PCH Symbols),” “EXECUTABLE_EXTENSION.” |
Specified in: |
New Project Assistant, New Target Assistant. |
PRODUCT_NAME
Description: |
Identifier. Specifies the name of the product the target builds. |
Default value: |
The name of the target at the time it was created. |
Example value: |
|
Effects: |
PROJECT_NAME
Description: |
Identifier. Specifies the name of the project that defines the target. |
Default value: |
The name of the project at the time it was created. |
Example value: |
|
Effects: |
“DSTROOT (Installation Build Products Location),” “PROJECT_TEMP_DIR.” |
Specified in: |
Project navigator. |
TARGET_NAME
Description: |
Identifier. Identifies the target being processed. |
Default value: |
The name of the target at the time it was created. |
Example value: |
|
Effects: |
|
Specified in: |
New Project Assistant. |
VALID_ARCHS (Valid Architectures)
Description: |
Space-separated list of identifiers. Specifies the architectures for which the binary may be built. During the build, this list is intersected with the value of |
Default value: |
|
Effects: |
|
Companion: |
Build Properties Build Settings
These build settings specify properties of a build performed by a target.
ACTION
Description: |
Identifier. Identifies the type of build to perform on the target. |
Values: |
|
Default value: |
|
Effects: |
“BUILD_COMPONENTS,” “DEPLOYMENT_POSTPROCESSING (Deployment Postprocessing),” “DEPLOYMENT_LOCATION (Deployment Location).” |
Companions: |
“CONFIGURATION_BUILD_DIR (Per-Configuration Build Products Path),” “CONFIGURATION_TEMP_DIR (Per-Configuration Intermediate File Path),” “INSTALL_DIR,” “SRCROOT,”“PRIVATE_HEADERS_FOLDER_PATH,”“PUBLIC_HEADERS_FOLDER_PATH,” “INSTALLHDRS_COPY_PHASE.” |
Specified in: |
|
BUILD_COMPONENTS
Description: |
Space-separated list of identifiers. Specifies subsets of the product. |
Effectors: |
|
Value: |
|
BUILD_VARIANTS (Build Variants)
Description: |
Space-separated list of identifiers. Specifies the binary variants of the product. You can create additional variant names for special purposes. For example, you can use the name of a build configuration as a variant name to create highly customized binaries. |
Values: |
|
Default value: |
|
Effects: |
“CURRENT_VARIANT,”“OBJECT_FILE_DIR_<VARIANT>,” “OTHER_CFLAGS_<VARIANT>.” |
COMPRESS_PNG_FILES (Compress .png files)
Description: |
Boolean value. Specifies whether to compress PNG files that are resources of the active target as they are copied to the application bundle. This applies only to iOS applications. |
Values: |
|
Default value: |
|
CONFIGURATION
Description: |
Identifier. Identifies the build configuration (for example, |
Values: |
|
Effects: |
“CURRENT_VARIANT,” “CONFIGURATION_BUILD_DIR (Per-Configuration Build Products Path),” “CONFIGURATION_TEMP_DIR (Per-Configuration Intermediate File Path).” |
Specified in: |
|
CURRENT_ARCH
Description: |
Identifier. Identifies the architecture on which the build is being performed. |
Values: |
|
Example value: |
|
Same as: |
CURRENT_VARIANT
Description: |
Identifier. Identifies the build variant being processed. |
Effectors: |
|
Value: |
|
Example values: |
|
DEBUG_INFORMATION_FORMAT (Debug Information Format)
Description: |
Identifier. Identifies the format used to store the binary’s debug information. |
Values: |
|
Default value: |
|
Prerequisite for: |
DEPLOYMENT_POSTPROCESSING (Deployment Postprocessing)
Description: |
Boolean value. Specifies whether the binary receives deployment postprocessing. Deployment postprocessing involves stripping the binary, and setting its file mode, owner, and group. |
Effectors: |
|
Values: |
|
Default value: |
|
Prerequisite for: |
ENABLE_HEADER_DEPENDENCIES
Description: |
Boolean value. Specifies whether data gathered from header-file scans is used in the build process. |
Values: |
|
Default value: |
|
Companion: |
NATIVE_ARCH
Description: |
Identifier. Identifies the architecture on which the build is being performed (same as CURRENT_ARCH). |
Values: |
|
Example value: |
|
Same as: |
|
Companion: |
ONLY_ACTIVE_ARCH (Build Active Architecture Only)
Description: |
Boolean value. Specifies whether the product includes only object code for the native architecture. |
Values: |
|
Default value: |
|
PATH_PREFIXES_EXCLUDED_FROM_HEADER_DEPENDENCIES
Description: |
Space-separated list of directory paths. Identifies the directories to exclude from header-file scans when the build uses header-file dependencies. |
Default value: |
|
Companions: |
RETAIN_RAW_BINARIES
Description: |
Boolean value. Specifies whether the binary is stripped. |
Values: |
|
Default value: |
|
Effects: |
|
Companion: |
|
Related to: |
STRINGS_FILE_OUTPUT_ENCODING
Description: |
Identifier. Specifies the output encoding for strings files. |
Values: |
|
Default value: |
|
TARGETED_DEVICE_FAMILY (Targeted Device Family)
Description: |
Comma-separated list of numeric identifiers. Specifies the device families on which the product must be capable of running. |
Identifiers: |
|
Default value: |
|
Example value: |
|
VALIDATE_PRODUCT (Validate Built Product)
Description: |
Boolean value. Specifies whether to run product-validation tests. |
Values: |
|
Default value: |
|
Build and Product Location Build Settings
These build settings identify filesystem locations used by the build process as well as locations that specify where product files are placed.
BUILT_PRODUCTS_DIR
Description: |
Directory path. Identifies the directory under which all the product’s files can be found. This directory contains either product files or symbolic links to them. Run Script build phases can use the value of this build setting as a convenient way to refer to the product files built by one or more targets even when these files are scattered throughout a directory hierarchy (for example, when |
Effectors: |
“RETAIN_RAW_BINARIES,” “CONFIGURATION_BUILD_DIR (Per-Configuration Build Products Path),” “DEPLOYMENT_LOCATION (Deployment Location).” |
Value: |
|
CACHE_ROOT
Description: |
File path. Identifies the file used to cache build-time information that must persist between launches of the Xcode application. |
Value: |
|
Example value: |
|
Effects: |
|
Alias: |
|
CONFIGURATION_BUILD_DIR (Per-Configuration Build Products Path)
Description: |
Directory path. Identifies the directory under which all build-related files for the active build configuration are placed. |
Effectors: |
|
Default value: |
|
Example value: |
|
Effects: |
“BUILT_PRODUCTS_DIR,” “TARGET_BUILD_DIR,” “TARGET_TEMP_DIR.” |
CONFIGURATION_TEMP_DIR (Per-Configuration Intermediate File Path)
Description: |
Directory path. Identifies the directory that holds temporary files for the active build configuration. |
Effectors: |
|
Default value: |
|
Example value: |
|
Effects: |
DEPLOYMENT_LOCATION (Deployment Location)
Description: |
Boolean value. Specifies whether product files are placed in the installation (specified by |
Effector: |
|
Values: |
|
Default value: |
|
Effects: |
|
Companions: |
“DSTROOT (Installation Build Products Location),” “SYMROOT (Build Products Path),”. |
Related to: |
DERIVED_FILE_DIR
Description: |
Directory path. Identifies the directory into which derived source files—such as those generated by lex and yacc—are placed. |
Effectors: |
|
Value: |
|
Aliases: |
|
DSTROOT (Installation Build Products Location)
Description: |
Directory path. Identifies the directory into which the product is placed. In this directory, the product is laid out exactly as it would be installed in a user’s filesystem. |
Effectors: |
|
Default value: |
|
Example value: |
|
Effects: |
INSTALL_DIR
Description: |
Directory path. Identifies the directory in the developer’s filesystem into which the installed product is placed. |
Effectors: |
“DSTROOT (Installation Build Products Location),” “INSTALL_PATH (Installation Directory).” |
Value: |
|
Example value: |
|
INSTALL_PATH (Installation Directory)
Description: |
Directory path. Identifies the directory in the user’s filesystem into which the installed product is placed. |
Effectors: |
Product type (chosen when the project was created), “DSTROOT (Installation Build Products Location),” “SYSTEM_LIBRARY_DIR,”“USER_LIBRARY_DIR,” “HOME.” |
Default value: |
|
Effects: |
OBJECT_FILE_DIR
Description: |
Directory path. Partially identifies the directory into which variant object files are placed. The complete specification is computed using the variants of this build setting. |
Effectors: |
|
Value: |
|
Example value: |
|
Effects: |
OBJECT_FILE_DIR_<VARIANT>
Description: |
Directory path. Fully identifies the directory into which variant object files are placed. For each build variant in |
Effectors: |
|
Value: |
|
Example build settings and their values when |
|
Related to: |
“BUILD_VARIANTS (Build Variants),” “OTHER_CFLAGS_<VARIANT>.” |
OBJROOT (Intermediate Build Files Path)
Description: |
Directory path. Identifies the directory in which the target’s intermediate build files are placed. Intermediate build directories are named after the product name with the extension |
Effectors: |
“SRCROOT,” Xcode Preferences > Building > “Place Build Products in.” |
Default value: |
|
Example value: |
|
Effects: |
PROJECT_TEMP_DIR
Description: |
Directory path. Identifies the directory in which the project’s intermediate build files are placed. This directory is shared between all the targets defined by the project. Run Script build phases should generate intermediate build files in the directory identified by |
Effectors: |
|
Value: |
|
Example value: |
|
Effects: |
“CONFIGURATION_TEMP_DIR (Per-Configuration Intermediate File Path).” |
REZ_COLLECTOR_DIR
Description: |
Directory path. Specifies the directory in which the collected Resource Manager resources generated by |
Effectors: |
|
Value: |
|
Example value: |
|
Effects: |
REZ_OBJECTS_DIR
Description: |
Directory path. Specifies the directory in which compiled Resource Manager resources generated by |
Effectors: |
|
Value: |
|
Example value: |
|
SDKROOT (Base SDK)
Description: |
Directory path. Specifies the directory of the base SDK to use to build the product. |
Values: |
|
Related to: |
“FRAMEWORK_SEARCH_PATHS (Framework Search Paths),” “HEADER_SEARCH_PATHS (Header Search Paths),”“IPHONEOS_DEPLOYMENT_TARGET (iOS Deployment Target),” “MACOSX_DEPLOYMENT_TARGET (OS X Deployment Target).” |
SHARED_PRECOMPS_DIR (Precompiled Headers Cache Path)
Description: |
Directory path. Specifies the directory in which to place precompiled headers. Targets can share precompiled headers by specifying the same value for this build setting. |
Effectors: |
|
Default value: |
|
Example value: |
|
SKIP_INSTALL
Description: |
Boolean value. Specifies whether to place the product at the location indicated by |
Values: |
|
Default value: |
|
Effects: |
|
Companions: |
“DEPLOYMENT_LOCATION (Deployment Location),” “DSTROOT (Installation Build Products Location),” “TARGET_TEMP_DIR.” |
SRCROOT
Description: |
Directory path. Identifies the directory containing the target’s source files. |
Value: |
Path to the project file that defines the target. |
Example value: |
|
Effects: |
“OBJROOT (Intermediate Build Files Path),” “SYMROOT (Build Products Path).” |
Alias: |
|
SYMROOT (Build Products Path)
Description: |
Directory path. Identifies the root of the directory hierarchy that contains product files and intermediate build files. Product and build files are placed in subdirectories of this directory. |
Effectors: |
“SRCROOT,” Xcode Preferences > Build. |
Default value: |
|
Example values: |
|
Effects: |
“BUILT_PRODUCTS_DIR,” “CONFIGURATION_BUILD_DIR (Per-Configuration Build Products Path).” |
TARGET_BUILD_DIR
Description: |
Directory path. Identifies the root of the directory hierarchy that contains the product’s files (no intermediate build files). Run Script build phases that operate on product files of the target that defines them should use the value of this build setting. But Run Script build phases that operate on product files of other targets should use “BUILT_PRODUCTS_DIR” instead. |
Effectors: |
“CONFIGURATION_BUILD_DIR (Per-Configuration Build Products Path),” “DEPLOYMENT_LOCATION (Deployment Location),” “DSTROOT (Installation Build Products Location),” “INSTALL_PATH (Installation Directory),” “TARGET_TEMP_DIR,” “SKIP_INSTALL.” |
Value: |
|
Example values: |
|
Related to: |
“DEPLOYMENT_LOCATION (Deployment Location),” “INSTALL_PATH (Installation Directory),” “SKIP_INSTALL.” |
TARGET_TEMP_DIR
Description: |
Directory path. Identifies the directory containing the target’s intermediate build files. Run Script build phases should place intermediate files at the location indicated by |
Effectors: |
“TARGET_NAME,” “CONFIGURATION_TEMP_DIR (Per-Configuration Intermediate File Path).” |
Value: |
|
Example value: |
|
Effects: |
“DERIVED_FILE_DIR,” “OBJECT_FILE_DIR,” “REZ_COLLECTOR_DIR,” “TARGET_BUILD_DIR.” |
Header-Map Build Settings
Header maps (also known as “header maps”) are files Xcode uses to compile the locations of the headers used in a target. These files use the suffix .hmap
. Xcode passes the header maps it puts together to C-based compilers through the -I
argument.
They allow header and source files to include:
Any header associated with the target using only its name (for example,
#include "MyClass.h"
) regardless of its location in the file system. See“HEADERMAP_INCLUDES_FLAT_ENTRIES_FOR_TARGET_BEING_BUILT.”Headers using framework syntax (for example,
MyFramework/MyHeader.h
). See“HEADERMAP_INCLUDES_FRAMEWORK_ENTRIES_FOR_ALL_PRODUCT_TYPES.”Headers that are part of the project, regardless or target membership. See “HEADERMAP_INCLUDES_PROJECT_HEADERS.”
Without header maps, you need to add each directory that contains headers to the target’s header search paths (see “HEADER_SEARCH_PATHS (Header Search Paths)” and “USER_HEADER_SEARCH_PATHS (User Header Search Paths)”).
HEADERMAP_INCLUDES_FLAT_ENTRIES_FOR_TARGET_BEING_BUILT
Description: |
Boolean value. Specifies whether the header map contains a name/path entry for every header in the target being built. |
Values: |
|
Default value: |
|
Related to: |
“HEADERMAP_INCLUDES_FRAMEWORK_ENTRIES_FOR_ALL_PRODUCT_TYPES,”“HEADERMAP_INCLUDES_PROJECT_HEADERS.” |
HEADERMAP_INCLUDES_FRAMEWORK_ENTRIES_FOR_ALL_PRODUCT_TYPES
Description: |
Boolean value. Specifies whether the header map contains a framework-name/path entry for every header in the target being built, including targets that do not build frameworks. |
Values: |
|
Default value: |
|
Related to: |
“HEADERMAP_INCLUDES_FLAT_ENTRIES_FOR_TARGET_BEING_BUILT,” “HEADERMAP_INCLUDES_PROJECT_HEADERS.” |
HEADERMAP_INCLUDES_PROJECT_HEADERS
Description: |
Boolean value. Specifies whether the header map contains a name/path entry for every header in the project, regardless of the headers’ target membership. |
Values: |
|
Default value: |
|
Related to: |
“HEADERMAP_INCLUDES_FLAT_ENTRIES_FOR_TARGET_BEING_BUILT,”“HEADERMAP_INCLUDES_FRAMEWORK_ENTRIES_FOR_ALL_PRODUCT_TYPES.” |
C/C++ Compiler Build Settings
These build settings specify how source files are compiled into object files.
ALWAYS_SEARCH_USER_PATHS (Always Search User Paths)
Description: |
Boolean value. Specifies whether the compiler searches for headers in the project directory before searching system directories. This build setting is used only with GCC 4.0 and later. |
Values: |
|
Default value: |
|
FRAMEWORK_SEARCH_PATHS (Framework Search Paths)
Description: |
Space-separated list of directory paths. Specifies directories in which the compiler searches for frameworks to find included header files. This list is passed to the compiler in the |
Default value: |
None. |
Example values: |
|
Companions: |
GCC_AUTO_VECTORIZATION (Auto-Vectorization)
Description: |
Boolean value. Specifies whether the compiler performs automatic loop vectorization when appropriate. Automatic loop vectorization is supported only in the PPC architectures. And it’s not supported by the Clang and LLVM-GCC compilers. |
Prerequisite: |
|
Values: |
|
Default value: |
|
Companions: |
“ARCHS (Architectures),” “VALID_ARCHS (Valid Architectures),” “GCC_OPTIMIZATION_LEVEL (Optimization Level).” |
GCC_CW_ASM_SYNTAX (CodeWarrior-Style Inline Assembly)
Description: |
Boolean value. Specifies whether to use the CodeWarrior syntax for inline assembly code (in addition to the standard GCC syntax). |
Values: |
|
Default value: |
|
GCC_DEBUGGING_SYMBOLS (Level of Debug Symbols)
Description: |
Option specification. Specifies the level of debug information included in the binary. |
Values: |
|
Default value: |
|
Prerequisite for: |
“GCC_ENABLE_SYMBOL_SEPARATION (Separate PCH Symbols),” “DEAD_CODE_STRIPPING (Dead Code Stripping)” |
GCC_DYNAMIC_NO_PIC
Description: |
Boolean value. Specifies whether the generated object code is nonrelocatable (external references remain relocatable). Making code nonrelocatable results in faster function calls. This feature is appropriate in applications but not dynamic libraries. |
Values: |
|
Default value: |
|
GCC_ENABLE_CPP_EXCEPTIONS (Enable C++ Exceptions)
Description: |
Boolean value. Specifies whether the compiler generates code necessary for exception propagation. |
Values: |
|
Default value: |
|
Related to: |
GCC_ENABLE_CPP_RTTI (Enable C++ Runtime Types)
Description: |
Boolean value. Specifies whether the compiler generates information about every class with virtual functions. This information is used by the C++ runtime type identification features ( |
Values: |
|
Default value: |
|
Related to: |
GCC_ENABLE_FIX_AND_CONTINUE (Fix & Continue)
Description: |
Boolean value. Specifies whether the binary uses Fix And Continue.. |
Values: |
|
Default value: |
|
GCC_ENABLE_OBJC_EXCEPTIONS (Enable Objective-C Exceptions)
Description: |
Boolean value. Specifies whether the compiler recognizes |
Values: |
|
Default value: |
|
GCC_ENABLE_OBJC_GC (Objective-C Garbage Collection)
Description: |
Identifier. Specifies the level of garbage-collection support for the generated code. |
Values: |
|
Default value: |
|
GCC_ENABLE_SSE3_EXTENSIONS (Enable SSE3 Extensions)
Description: |
Boolean value. Specifies whether the binary uses the built-in functions that provide access to the SSE3 extensions to the IA-32 architecture. |
Values: |
|
Default value: |
|
GCC_ENABLE_SSE41_EXTENSIONS (Enable SSE4.1 Extensions)
Description: |
Boolean value. Specifies whether the binary uses the built-in functions that provide access to the SSE4.1 extensions to the IA-32 architecture. |
Values: |
|
Default value: |
|
GCC_ENABLE_SSE42_EXTENSIONS (Enable SSE4.2 Extensions)
Description: |
Boolean value. Specifies whether the binary uses the built-in functions that provide access to the SSE4.2 extensions to the IA-32 architecture. |
Values: |
|
Default value: |
|
GCC_ENABLE_SYMBOL_SEPARATION (Separate PCH Symbols)
Description: |
Boolean value. Specifies whether the compiler generates a separate file containing the debug symbols when compiling a precompiled (prefix) header (PCH). A separate file with debug symbols can improve build time. |
Prerequisite: |
|
Values: |
|
Default value: |
|
Effector: |
|
Companions: |
“DEBUG_INFORMATION_FORMAT (Debug Information Format),” “GCC_DEBUGGING_SYMBOLS (Level of Debug Symbols).” |
GCC_FEEDBACK_DIRECTED_OPTIMIZATION (Feedback-Directed Optimization)
Description: |
Boolean value. Specifies whether to use feedback-directed optimization. To optimize a binary, you must first generate a binary that produces profile trace files by setting this build setting to |
Values: |
|
Default value: |
|
GCC_GENERATE_DEBUGGING_SYMBOLS (Generate Debug Symbols)
Description: |
Boolean value. Specifies whether the binary includes debug symbols. |
Values: |
|
Default value: |
|
Related to: |
GCC_MODEL_TUNING (Instruction Scheduling)
Description: |
Option specification. Specifies the PowerPC architecture to which the compiler optimizes the instruction scheduling model. The generated code runs in earlier PowerPC architectures, too. See |
Values: |
|
Default value: |
|
GCC_OBJC_CALL_CXX_CDTORS (Call C++ Default Ctors/Dtors in Objective-C)
Description: |
Boolean value. Specifies whether to execute nontrivial default constructors and destructors for C++ instance variables of Objective-C classes. |
Values: |
|
Default value: |
|
GCC_OPTIMIZATION_LEVEL (Optimization Level)
Description: |
Option specification. Specifies the degree to which the generated code is optimized for speed and binary size. |
Values: |
|
Default value: |
|
GCC_PRECOMPILE_PREFIX_HEADER (Precompile Prefix Header)
Description: |
Boolean value. Specifies whether to create a prefix header for the target. |
Prerequisite: |
|
Values: |
|
Default value: |
|
Companion: |
GCC_PREFIX_HEADER
Description: |
Filename or file path. Identifies the target’s prefix header. |
Default value: |
None. |
Example value: |
|
Prerequisite for: |
GCC_PREPROCESSOR_DEFINITIONS (Preprocessor Macros)
Description: |
Space-separated list of option specifications. Specifies preprocessor macros in the form |
Default value: |
None. |
Example value: |
|
Related to: |
GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS (Preprocessor Macros Not Used In Precompiled Headers)
Description: |
Space-separated list of option specifications. Specifies preprocessor macros in the form |
Prerequisite: |
Definitions used only in implementation files, not precompiled headers. |
Default value: |
None. |
Example value: |
|
Related to: |
GCC_SYMBOLS_PRIVATE_EXTERN (Symbols Hidden by Default)
Description: |
Boolean value. Specifies whether symbols are hidden by default. See “Controlling Symbol Visibility” in C++ Runtime Environment Programming Guide. |
Values: |
|
Default value: |
|
Prerequisite for: |
“STANDARD_C_PLUS_PLUS_LIBRARY_TYPE (C++ Standard Library Type).” |
GCC_THREADSAFE_STATICS (Statics are Thread Safe)
Description: |
Boolean value. Specifies whether the binary uses the functions that implement thread-safe initialization of local statics for the IA-32 architecture. Binaries that use these functions contain less object code in sections that do not need to be thread safe. |
Values: |
|
Default value: |
|
GCC_UNROLL_LOOPS (Unroll Loops)
Description: |
Boolean value. Specifies whether the compiler generates a faster binary (containing code with fewer branches) by unrolling loops, which generates a larger binary. |
Values: |
|
Default value: |
|
GCC_USE_NASM_FOR_ASM_FILETYPE (Use nasm to Process .asm Files)
Description: |
Boolean value. Specifies whether |
Values: |
|
Default value: |
|
GCC_VERSION
Description: |
Numeric identifier. Identifies the GCC version to be used to compile the target’s source files. When the target’s “System C rule” is set to GCC System Version (instead of a specific version number), this build setting is not available in Run Script build phases. |
Values: |
|
Default value: |
GCC system version. |
Specified in: |
|
Effects: |
GCC_VERSION_IDENTIFIER
Description: |
Identifier. Identifies the version of GCC to be used to compile the target’s source files. This build setting is unavailable in Run Script build phases when |
Effectors: |
|
Value: |
The value of |
Example value: |
|
GCC_WARN_ABOUT_GLOBAL_CONSTRUCTORS (Global Construction or Destruction Required)
Description: |
Boolean value. Specifies whether to warn about the use of static initializers. |
Values: |
|
Default value: |
|
GCC_WARN_ABOUT_RETURN_TYPE (Mismatched Return Type)
Description: |
Boolean value. Specifies whether to warn about functions that do not have an explicit return type and about functions that contain |
Values: |
|
Default value: |
|
GCC_WARN_UNUSED_VARIABLE (Unused Variables)
Description: |
Boolean value. Specifies whether warn about unused local variables or unused nonconstant static variables. |
Values: |
|
Default value: |
|
GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS (Effective C++ Violation)
Description: |
Boolean value. Specifies whether to warn about violations to certain code style guidelines described in Effective C++ (by Scott Meyer). |
Values: |
|
Default value: |
|
GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS (Hidden Virtual Functions)
Description: |
Boolean value. Specifies whether to warn about function declarations that hide virtual functions declared in a base class. |
Values: |
|
Default value: |
|
GCC_WARN_INHIBIT_ALL_WARNINGS (Inhibit All Warnings)
Description: |
Boolean value. Specifies whether to suppress warnings. |
Values: |
|
Default value: |
|
GCC_WARN_NON_VIRTUAL_DESTRUCTOR (Nonvirtual Destructor)
Description: |
Boolean value. Specifies whether to warn about classes that declare a nonvirtual destructor that should be virtual (when the compiler determines that the class is used polymorphically). This build setting applies only to C++ and Objective-C++ source files. |
Values: |
|
Default value: |
|
GCC_WARN_PEDANTIC (Pedantic Warnings)
Description: |
Boolean value. Specifies whether to warn about source code that does not adhere to ISO C or ISO C++ standards. |
Values: |
|
Default value: |
|
GCC_WARN_SHADOW (Hidden Local Variables)
Description: |
Boolean value. Specifies whether to warn about local symbols that shadow another local variable, parameter, or global variable, built-in function. |
Values: |
|
Default value: |
|
GCC_WARN_SIGN_COMPARE (Sign Comparison)
Description: |
Boolean value. Specifies whether to warn about comparisons between |
Values: |
|
Default value: |
|
HEADER_SEARCH_PATHS (Header Search Paths)
Description: |
Space-separated list of directory paths. Specifies directories in which to search for header files. (In GCC, this list is passed in the |
Default value: |
None. |
Example values: |
|
Companion: |
|
Related to: |
INFOPLIST_OTHER_PREPROCESSOR_FLAGS (Info.plist Other Preprocessor Flags)
Description: |
Space-separated list of option specifications. Specifies additional options for preprocessing the info plist file. |
Companion: |
“INFOPLIST_PREPROCESS (Preprocess Info.plist File),” “INFOPLIST_FILE.” |
Related to: |
“INFOPLIST_PREFIX_HEADER (Info.plist Preprocessor Prefix File),” “INFOPLIST_PREPROCESSOR_DEFINITIONS (Info.plist Preprocessor Definitions).” |
INFOPLIST_PREFIX_HEADER (Info.plist Preprocessor Prefix File)
Description: |
File path or project file path. Specifies the path to the prefix file to include when processing the info plist file. |
Companion: |
INFOPLIST_PREPROCESS (Preprocess Info.plist File)
Description: |
Boolean. Specifies whether to preprocess the info plist file. |
Values: |
|
Default value: |
|
Companion: |
|
Related to: |
“INFOPLIST_PREFIX_HEADER (Info.plist Preprocessor Prefix File).” |
INFOPLIST_PREPROCESSOR_DEFINITIONS (Info.plist Preprocessor Definitions)
Description: |
Space-separated list of option specifications. Defines preprocessor macros used when preprocessing the info plist file. |
Example value: |
|
Companion: |
“INFOPLIST_PREPROCESS (Preprocess Info.plist File),” “INFOPLIST_FILE.” |
Related to: |
“INFOPLIST_OTHER_PREPROCESSOR_FLAGS (Info.plist Other Preprocessor Flags).” |
IPHONEOS_DEPLOYMENT_TARGET (iOS Deployment Target)
Description: |
Numeric identifier. Identifies the earliest iOS version the product is to run on. This build setting is available in Run Script build phases only when it is set to a specific iOS version. |
Values: |
|
Default value: |
Compiler default. Product runs on the iOS version |
Related to: |
MACOSX_DEPLOYMENT_TARGET (OS X Deployment Target)
Description: |
Numeric identifier. Identifies the earliest OS X version the product is to run on. This build setting is available in Run Script build phases only when it is set to a specific OS X version. |
Values: |
|
Default value: |
Compiler default. Product runs on the OS X version |
Related to: |
OTHER_CFLAGS (Other C Flags)
Description: |
Space-separated list of option specifications. Specifies additional options for compiling C-based precompiled headers and implementation files. These options are passed (as given) to the compiler whether other build settings also specify values that correspond to these options. Therefore, you should look for the appropriate compiler build setting to specify a particular compiler option before using this build setting. |
Default value: |
None. |
Example value: |
|
Effects: |
|
Related to: |
OTHER_CFLAGS_<VARIANT>
Description: |
Space-separated list of option specifications. Specifies additional options for compiling C-based (including C++) precompiled headers and implementation files for the specified variant. These options are passed (as given) to the compiler whether other build settings also specify values that correspond to these options. Therefore, you should look for the appropriate compiler build setting to specify a particular compiler option before using this build setting. |
Default value: |
None. |
Related to: |
“BUILD_VARIANTS (Build Variants),” “OBJECT_FILE_DIR_<VARIANT>,” “OTHER_CFLAGS (Other C Flags),” “OTHER_CPLUSPLUSFLAGS (Other C++ Flags).” |
OTHER_CPLUSPLUSFLAGS (Other C++ Flags)
Description: |
Space-separated list of option specifications. Specifies additional options for compiling C++–based precompiled headers and implementation files. These options are passed (as given) to the compiler whether other build settings also specify values that correspond to these options. Therefore, you should look for the appropriate compiler build setting to specify a particular compiler option before using this build setting. |
Effectors: |
|
Default value: |
|
Example value: |
|
Related to: |
USER_HEADER_SEARCH_PATHS (User Header Search Paths)
Description: |
Space-separated list of directory paths. Specifies directories to search for header files included in source files using quotation marks ( Xcode build tools, such as GCC, are invoked with their working directory set to |
Default value: |
None. |
Companion: |
|
Related to: |
WARNING_CFLAGS (Other Warning Flags)
Description: |
Space-separated list of option specifications. Specifies additional warning options for compiling C-based (including C++) precompiled headers and implementation files. These options are passed (as given) to the compiler whether other build settings also specify values that correspond to these options. Therefore, you should look for the appropriate compiler build setting to specify a particular warning option before using this build setting. |
Default value: |
None. |
Related to: |
|
Interface Builder Compiler Build Settings
These build settings specify options for the Interface Builder compiler.
IBC_FLATTEN_NIBS (Flatten Compiles XIB Files)
Description: |
Boolean value. Specifies whether to strip a nib files to reduce their size. The resulting nib file is more compact but is not editable. |
Values: |
|
Default value: |
|
IBC_OTHER_FLAGS (Other Interface Builder Compiler Flags)
Description: |
Space-separated list of option specifications. Specifies additional options for compiling nib files. These options are passed (as given) to the compiler whether other build settings also specify values that correspond to these options. Therefore, you should look for the appropriate compiler build setting to specify a particular compiler option before using this build setting. |
Default value: |
None. |
IBC_OVERRIDING_PLUGINS_AND_FRAMEWORKS_DIR (Overriding Plug-In and Framework Directory)
Description: |
Directory path. Identifies the directory from which to load frameworks and Interface Builder plug-ins. |
Example value: |
|
Default value: |
None. |
IBC_PLUGIN_SEARCH_PATHS (Plug-In Search Paths)
Description: |
Space-separated list of directory paths. Identifies directories to be searched for Interface Builder plug-ins to load when compiling xib files. |
Default value: |
None. |
IBC_PLUGINS (Plug-Ins)
Description: |
Space-separated list of file paths. Identifies Interface Builder plug-ins to load when compiling xib files. |
Default value: |
None. |
IBC_ERRORS (Show Errors)
Description: |
Boolean value. Specifies whether to emit xib-file–compilation errors. |
Values: |
|
Default value: |
|
IBC_NOTICES (Show Notices)
Description: |
Boolean value. Specifies whether to emit xib-file–compilation notices. |
Values: |
|
Default value: |
|
IBC_WARNINGS (Show Warnings)
Description: |
Boolean value. Specifies whether to emit xib-file–compilation warnings. |
Values: |
|
Default value: |
|
Linker Build Settings
These build settings specify linking options.
DEAD_CODE_STRIPPING (Dead Code Stripping)
Description: |
Boolean value. Specifies whether dead code is stripped from the binary. |
Prerequisite: |
|
Values: |
|
Default value: |
|
Companions: |
|
Prerequisite for: |
PRESERVE_DEAD_CODE_INITS_AND_TERMS |
EXPORTED_SYMBOLS_FILE (Exported Symbols File)
Description: |
Project file path. Identifies a file containing the names of global symbols to be exported from the binary. All other symbols are treated as if they had been marked as private. See “Minimizing Your Exported Symbols” in Code Size Performance Guidelines and |
Default value: |
None. |
Example value: |
|
KEEP_PRIVATE_EXTERNS (Preserve Private External Symbols)
Description: |
Boolean value. Specifies whether private external symbols remain so in the binary. |
Values: |
|
Default value: |
|
LD_DYLIB_INSTALL_NAME (Dynamic Library Install Name)
Description: |
File path. Specifies the install name of a dynamic library. See Dynamic Library Programming Topics. |
Default value: |
None. |
Example values: |
|
Related to: |
LD_RUNPATH_SEARCH_PATHS (Runpath Search Paths)
Description: |
Space-separated list of directory paths. Specifies the run-path locations at which the dynamic loader searches for the product’s run-path dependent libraries. See Dynamic Library Programming Topics. |
Default value: |
None. |
Example values: |
|
Related to: |
LIBRARY_SEARCH_PATHS
Description: |
Space-separated list of directory paths. Specifies directories in which the linker searches for included libraries to link the binary against. Adding |
Default value: |
None. |
Example value: |
|
Companion: |
LINK_WITH_STANDARD_LIBRARIES (Link With Standard Libraries)
Description: |
Boolean value. Specifies whether to link the binary against the standard libraries. When not linking against the standard libraries, you should use “OTHER_LDFLAGS (Other Linker Flags)” to specify the libraries to link binary against. |
Values: |
|
Default value: |
|
LINKER_DISPLAYS_FILE_FOR_UNDEFINED_SYMBOLS (Verbose Undefined Symbols Info)
Description: |
Boolean value. Specifies whether the linker displays additional information about undefined symbols, such as the source file the symbol is used in and whether the file references or defines the symbol. |
Values: |
|
Default value: |
|
LINKER_DISPLAYS_MANGLED_NAMES (Display Mangled Names)
Description: |
Boolean value. Specifies whether the linker displays mangled names for C++ symbols. This information can help in diagnosing C++ linking problems. |
Values: |
|
Default value: |
|
OTHER_LDFLAGS (Other Linker Flags)
Description: |
Space-separated list of option specifications. Specifies additional options for linking the binary. These options are passed (as given) to the linker whether other build settings also specify values that correspond to these options. Therefore, you should look for the appropriate linker build setting to specify a particular linker option before using this build setting. |
Default value: |
None. |
Related to: |
OTHER_LDFLAGS_<VARIANT>
Description: |
Space-separated list of option specifications. Specifies additional options for linking the binary for the specified variant. These options are passed (as given) to the linker whether other build settings also specify values that correspond to these options. Therefore, you should look for the appropriate linker build setting to specify a particular linker option before using this build setting. |
Default value: |
None. |
Related to: |
PREBINDING (Prebinding)
Description: |
Boolean value. Specifies whether to prebind the generated binary. |
Prerequisite: |
|
Values: |
|
Default value: |
|
Companion: |
“ARCHS (Architectures),” “VALID_ARCHS (Valid Architectures).” |
PRESERVE_DEAD_CODE_INITS_AND_TERMS (Don’t Dead-Strip Inits and Terms)
Description: |
Boolean value. Specifies whether to prevent initialization and termination routines from being dead-code stripped. |
Prerequisite: |
|
Values: |
|
Default value: |
|
Companion: |
STANDARD_C_PLUS_PLUS_LIBRARY_TYPE (C++ Standard Library Type)
Description: |
Identifier. Specifies how the binary is linked against the C++ standard library: As a dynamic library or as a static library. |
Prerequisite: |
|
Values: |
|
Default value: |
|
Companion: |
STRIP_INSTALLED_PRODUCT (Strip Linked Product)
Description: |
Boolean value. Specifies whether to strip symbol information from the binary. |
Prerequisite: |
|
Values: |
|
Default value: |
|
Companion: |
|
Related to: |
STRIP_STYLE (Strip Style)
Description: |
Identifier. Specifies the level of stripping performed on the binary. |
Values: |
|
Default value: |
|
Related to: |
UNEXPORTED_SYMBOLS_FILE (Unexported Symbols File)
Description: |
Project file path. Identifies a file containing the names of global symbols to be hidden. See “Minimizing Your Exported Symbols” in Code Size Performance Guidelines and |
Default value: |
None. |
Example value: |
|
Product Layout Build Settings
These build settings specify the layout of bundle-based products.
CONTENTS_FOLDER_PATH
Description: |
Bundle directory path. Specifies the directory inside the generated bundle that contains the product’s files. |
Effector: |
|
Default value: |
|
Example value: |
|
Effects: |
“EXECUTABLE_PATH,” “FRAMEWORKS_FOLDER_PATH,” “INFOPLIST_PATH,” “PLUGINS_FOLDER_PATH,” “PRIVATE_HEADERS_FOLDER_PATH,”“PUBLIC_HEADERS_FOLDER_PATH,” “SCRIPTS_FOLDER_PATH,” “SHARED_FRAMEWORKS_FOLDER_PATH,”“UNLOCALIZED_RESOURCES_FOLDER_PATH.” |
INFOPLIST_FILE
Description: |
Filename. Specifies the name of the information property list file that specifies the bundled product’s runtime properties. For details on information property list files, see “Information Property List Files” inRuntime Configuration Guidelines. You should not change the value of this build setting from its default. Doing so produces a bundled product that may not work as expected in OS X. |
Default value: |
|
Effects: |
|
Related to: |
INFOPLIST_OUTPUT_FORMAT
Description: |
Identifier. Specifies the whether the information property list file is written using the binary format. |
Values: |
|
Related to: |
INFOPLIST_PATH
Description: |
Bundle file path. Specifies the path to the bundle’s information property list file. |
Effectors: |
|
Default value: |
|
Example value: |
|
INFOSTRINGS_PATH
Description: |
Bundle file path. Specifies the file that contains the bundle’s localized strings file. |
Default value: |
|
FRAMEWORKS_FOLDER_PATH
Description: |
Bundle directory path. Specifies the directory that contains the product’s embedded frameworks. |
Effector: |
|
Default value: |
|
Example value: |
|
GENERATE_PKGINFO_FILE
Description: |
Boolean value. Specifies whether to generate the file specified by |
Values: |
|
Default value: |
|
Companion: |
DOCUMENTATION_FOLDER_PATH
Description: |
Bundle directory path. Identifies the directory that contains the bundle’s documentation files. |
Default value: |
|
EXECUTABLES_FOLDER_PATH
Description: |
Bundle directory path. Identifies the directory that contains additional binary files. |
Effector: |
|
Default value: |
|
Example value: |
|
EXECUTABLE_EXTENSION
Description: |
Identifier. Specifies the extension of the binary the target produces. |
Effectors: |
|
Default values: |
|
Effects: |
EXECUTABLE_FOLDER_PATH
Description: |
Bundle directory path. Identifies the directory that contains the binary the target builds. |
Effector: |
|
Default value: |
|
Example value: |
|
EXECUTABLE_NAME
Description: |
Filename. Specifies the name of the binary the target produces. |
Effectors: |
|
Default value: |
|
Example values: |
|
Effects: |
EXECUTABLE_PATH
Description: |
Bundle directory path. Specifies the path to the binary the target produces within its bundle. |
Effectors: |
|
Default value: |
|
Example values: |
|
EXECUTABLE_PREFIX
Description: |
File prefix. Specifies the prefix of the binary filename. |
Default value: |
None. |
Effects: |
EXECUTABLE_SUFFIX
Description: |
File suffix. Specifies the suffix of the binary filename (including the character that separates the extension from the rest of the bundle name). |
Effector: |
|
Default value: |
|
Example value: |
|
Effects: |
PACKAGE_TYPE
Description: |
Uniform type identifier. Identifies the type of the product the target builds. Some products may be made up of a single binary or archive. Others may comprise several files, which are grouped under a single directory. These container directories are known as bundles. |
Value: |
|
PLUGINS_FOLDER_PATH
Description: |
Bundle directory path. Specifies the directory that contains the product’s plug-ins. |
Effector: |
|
Default value: |
|
Example value: |
|
PRIVATE_HEADERS_FOLDER_PATH
Description: |
Bundle directory path. Specifies the directory that contains the product’s private header files. |
Effector: |
|
Default value: |
|
Example value: |
|
PKGINFO_FILE_PATH
Description: |
Bundle file path. Specifies the file that contains the bundle’s package information file. |
Effector: |
|
Value: |
|
Example value: |
|
PUBLIC_HEADERS_FOLDER_PATH
Description: |
Bundle directory path. Specifies the directory that contains the product’s public header files. |
Effector: |
|
Default value: |
|
Example value: |
|
SCRIPTS_FOLDER_PATH
Description: |
Bundle directory path. Specifies the directory that contains the product’s scripts. |
Effector: |
|
Default value: |
|
Example value: |
|
SHARED_FRAMEWORKS_FOLDER_PATH
Description: |
Bundle directory path. Specifies the directory that contains the product’s shared frameworks. |
Effector: |
|
Default value: |
|
Example value: |
|
UNLOCALIZED_RESOURCES_FOLDER_PATH
Description: |
Bundle directory path. Specifies the directory that contains the product’s unlocalized resources. |
Effector: |
|
Default value: |
|
Example value: |
|
WRAPPER_EXTENSION (Wrapper Extension)
Description: |
Identifier. Specifies the extension of the product bundle name (not including the character that separates the extension from the rest of the bundle name). |
Effector: |
Product type choose when the target was created |
Default value: |
none: In command-line utility, dynamic library, and static library products. |
Example value: |
|
Effects: |
WRAPPER_NAME
Description: |
Filename. Specifies the filename (including the appropriate extension) of the product bundle. |
Effectors: |
|
Value: |
|
Example value: |
|
Related to: |
WRAPPER_SUFFIX
Description: |
File suffix. Specifies the suffix of the product bundle name (including the character that separates the extension from the rest of the bundle name). |
Effector: |
|
Default value: |
|
Example value: |
|
Effects: |
Code Signing Build Settings
These build settings specify code signing options.
CODE_SIGN_ENTITLEMENTS (Code Signing Entitlements)
Description: |
Filename. Specifies the name of the application’s entitlements property-list file. This build setting applies only to iOS applications. |
Example value: |
|
CODE_SIGN_IDENTITY (Code Signing Identity)
Description: |
Identifier. Specifies the name of a code signing identity. |
Example value: |
|
CODE_SIGN_RESOURCE_RULES_PATH (Code Signing Resource Rules Path)
Description: |
File path. Identifies a property-list file containing resource-scanning instructions that override the rules for identifying bundle resources to sign. |
Example value: |
|
OTHER_CODE_SIGN_FLAGS (Other Code Signing Flags)
Description: |
Space-separated list of option specifications. Specifies additional options to |
Example value: |
|
Copy Build Settings
These build settings specify file-copying options.
COPY_PHASE_STRIP (Strip Debug Symbols During Copy)
Description: |
Boolean value. Specifies whether copied binaries are stripped of debugging symbols. |
Values: |
|
Default value: |
|
INSTALLHDRS_COPY_PHASE
Description: |
Boolean value. Specifies whether the target’s Copy Files build phases are executed in install-header builds. |
Values: |
|
Default value: |
|
Companion: |
INSTALLHDRS_SCRIPT_PHASE
Description: |
Boolean value. Specifies whether the target’s Run Script build phases are executed in install-header builds. See ACTION for details on install-header builds. |
Values: |
|
Default value: |
|
Companion: |
REMOVE_CVS_FROM_RESOURCES
Description: |
Boolean value. Specifies whether to remove |
Values: |
|
Default value: |
|
REMOVE_SVN_FROM_RESOURCES
Description: |
Boolean value. Specifies whether to remove |
Values: |
|
Default value: |
|
VERBOSE_PBXCP
Description: |
Boolean value. Specifies whether the target’s Copy Files build phases generate additional information when copying files. |
Values: |
|
Default value: |
|
User Location Build Settings
These build settings represent locations in the User realm in the filesystem.
HOME
Description: |
File path. Specifies the path to the user’s home directory. |
Value: |
|
Example: |
|
Effects: |
USER_LIBRARY_DIR
Description: |
File path. Specifies the path the user’s |
Value: |
|
Effects: |
System Location Build Setting
This build setting represents a location in the System realm in the file system.
SYSTEM_LIBRARY_DIR
Description: |
Directory path. Specifies the path of the |
Value: |
|
Effects: |