Xcode 环境变量

来源:互联网 发布:qq定位软件 编辑:程序博客网 时间:2024/05/24 03:23

Build and Product Location Build Settings

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 DEPLOYMENT_LOCATION is set to YES.

构建产品目录

Effectors:

RETAIN_RAW_BINARIESCONFIGURATION_BUILD_DIR (Per-Configuration Build Products Path)DEPLOYMENT_LOCATION (Deployment Location).

Value:

  • $SYMROOT/BuiltProducts: When DEPLOYMENT_LOCATION = YES AND RETAIN_RAW_BINARIES = YES,

  • $CONFIGURATION_BUILD_DIR: Is the alternative.

CACHE_ROOT

Description:

File path. Identifies the file used to cache build-time information that must persist between launches of the Xcode application.

缓存根目录

Value:

/var/folders/<some_directory>/com.apple.Xcode.<user_id>

Example value:

/var/folders/Aq/AqPz2MexGfqyTWrWDAVsOE++12Q/-Caches-/com.apple.Xcode.501

Affects:

SHARED_PRECOMPS_DIR (Precompiled Headers Cache Path).

Alias:

CCHROOT

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:

CONFIGURATION,SYMROOT (Build Products Path).

Default value:

$SYMROOT/$CONFIGURATION

Example value:

/Users/genica/MyProject/build/Debug

Affects:

BUILT_PRODUCTS_DIRTARGET_BUILD_DIRTARGET_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:

CONFIGURATIONPROJECT_TEMP_DIR.

Default value:

$PROJECT_TEMP_DIR/$CONFIGURATION

Example value:

/Users/genica/MyProject/build/MyProject.build/Debug

Affects:

TARGET_TEMP_DIR.

DEPLOYMENT_LOCATION (Deployment Location)

Description:

Boolean value. Specifies whether product files are placed in the installation (specified by DSTROOT) or the build directory (identified by SYMROOT).

产品部署的位置,这是一个bool值

Effector:

ACTION.

Values:

  • YES: Product files are placed in $DSTROOT.

  • NO: Product files are placed in $SYMROOT.

Default value:

  • YES: When $ACTION = install.

  • NO: Is the alternative.

Affects:

TARGET_BUILD_DIR.

Companions:

DSTROOT (Installation Build Products Location)SYMROOT (Build Products Path),.

Related to:

RETAIN_RAW_BINARIES,BUILT_PRODUCTS_DIRSKIP_INSTALL.

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:

TARGET_TEMP_DIR.

Value:

$TARGET_TEMP_DIR/DerivedSources

Aliases:

DERIVED_FILES_DIRDERIVED_SOURCES_DIR

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:

PROJECT_NAME.

Default value:

/tmp/$PROJECT_NAME.dst

Example value:

/tmp/MyProject.dst

Affects:

INSTALL_DIRTARGET_BUILD_DIR.

INSTALL_DIR

Description:

Directory path. Identifies the directory in the developer’s filesystem into which the installed product is placed.

安装目录,附属DSTROOT的目录;

Effectors:

DSTROOT (Installation Build Products Location)INSTALL_PATH (Installation Directory).

Value:

$DSTROOT/INSTALL_PATH

Example value:

/tmp/MyProduct.dst/Users/genica/Library/Bundles

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_DIRUSER_LIBRARY_DIRHOME.

Default value:

$SYSTEM_LIBRARY_DIR/Extensions: Kernel extension project.

$USER_LIBRARY_DIR/Automator: Action project.

$HOME/Applications: Application project.

$HOME/Library/Bundles: Audio unit and bundle projects.

$HOME/bin: Command-line utility project.

$DSTROOT: Apple plug-in project (complete path depends on specific project template).

/usr/local/lib: Dynamic library and static library projects.

Affects:

INSTALL_DIRTARGET_BUILD_DIR.

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:

TARGET_TEMP_DIR.

Value:

$TARGET_TEMP_DIR/Objects

Example value:

/Volumes/Users/genica/MyProject/build/MyProject.build/Debug/MyProduct.build/Objects

Affects:

OBJECT_FILE_DIR_<VARIANT>.

OBJECT_FILE_DIR_<VARIANT>

Description:

Directory path. Fully identifies the directory into which variant object files are placed.

For each build variant in BUILD_VARIANTS, Xcode generates an OBJECT_FILE_DIR build setting with the variant name as a suffix. The generated build setting’s value is computed using OBJECT_FILE_DIR and the build variant name.

Effectors:

BUILD_VARIANTS (Build Variants)OBJECT_FILE_DIR.

Value:

$OBJECT_FILE_DIR-<VARIANT>

Example build settings and their values when $BUILD_VARIANTS = normal debug:

  • $OBJECT_FILE_DIR_normal = /Volumes/Users/genica/MyProject/ build/MyProject.build/Debug/MyProduct.build/Objects-normal

  • $OBJECT_FILE_DIR_debug = /Volumes/Users/genica/MyProject/ build/MyProject.build/Debug/MyProduct.build/Objects-debug

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 .build. For example, MyProduct.build.

编译时中间文件的文件根目录

Effectors:

SRCROOT, Xcode Preferences > Building > “Place Build Products in.”

Default value:

  • $SRCROOT/build: When Xcode Preferences > Building > “Place Build Products in” is “Project directory.”

  • <custom_directory_path>: When Xcode Preferences > Building > “Place Build Products in” is “Customized location.”

Example value:

/Volumes/Users/genica/MyProject/build

Affects:

PROJECT_TEMP_DIR.

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 DERIVED_FILE_DIR, not the location this build setting specifies.

编译时产生的中间文件目录路径

Effectors:

PROJECT_NAME,OBJROOT (Intermediate Build Files Path).

Value:

$OBJROOT/$PROJECT_NAME.build

Example value:

/Volumes/Users/genica/MyProject/build/MyProject.build

Affects:

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 ResMerger are stored before they are added to the product.

资源目录

Effectors:

TARGET_TEMP_DIR.

Value:

$TARGET_TEMP_DIR/ResourceManagerResources

Example value:

/Volumes/Users/genica/MyProject/build/MyProject.build/Debug/MyProduct.build/ResourceManagerResources

Affects:

REZ_OBJECTS_DIR.

REZ_OBJECTS_DIR

Description:

Directory path. Specifies the directory in which compiled Resource Manager resources generated by Rez are stored before they are collected using ResMerger.

资源对象目录

Effectors:

REZ_COLLECTOR_DIR.

Value:

$REZ_COLLECTOR_DIR/Objects

Example value:

/Volumes/Users/genica/MyProject/build/MyProject.build/Debug/MyProduct.build/ResourceManagerResources/Objects

SDKROOT (Base SDK)

Description:

Directory path. Specifies the directory of the base SDK to use to build the product.

系统SDK根目录

Values:

  • macosx10.5: OS X v10.5.

  • macosx10.6: OS X v10.6.

  • iphonesimulator3.2: iPhone Simulator 3.2.

  • iphonesimulator4.0: iPhone Simulator 4.0.

  • iphoneos3.2: iPhone Device 3.2.

  • iphoneos4.0: iPhone Device 4.0.

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:

CACHE_ROOT.

Default value:

$CACHE_ROOT/SharedPrecompiledHeaders

Example value:

/var/folders/Aq/AqPz2MexGfqyTWrWDAVsOE++12Q/-Caches-/com.apple.Xcode.501/SharedPrecompiledHeaders

SKIP_INSTALL

Description:

Boolean value. Specifies whether to place the product at the location indicated by DSTROOT or the uninstalled products directory inside the directory indicated by TARGET_TEMP_DIR.

Values:

  • YES: When $DEPLOYMENT_LOCATION = YES, the product is placed in $TARGET_TEMP_DIR/UninstalledProducts.

  • NO: The product is placed in $DSTROOT.

Default value:

NO

Affects:

TARGET_BUILD_DIR.

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:

/Volumes/Users/genica/MyProject

Affects:

OBJROOT (Intermediate Build Files Path)SYMROOT (Build Products Path).

Alias:

SOURCE_ROOT

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:

  • $SRCROOT/build: When Xcode Preferences > Build > “Place Build Products in” is “Project Directory.”

  • <custom_directory_path>: When Xcode Preferences > Build > “Place Build Products in” is “Custom location.”

Example values:

  • /Volumes/Users/genica/MyProject/build

  • /Volumes/A_Volume/MyManyProducts

Affects:

BUILT_PRODUCTS_DIRCONFIGURATION_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_DIRSKIP_INSTALL.

Value:

  • $CONFIGURATION_BUILD_DIR: When $DEPLOYMENT_LOCATION = NO,

  • $DSTROOT/$INSTALL_PATH: When $DEPLOYMENT_LOCATION = YES$SKIP_INSTALL = NO, and INSTALL_PATH is defined,

  • $TARGET_TEMP_DIR/UninstalledProducts: When $DEPLOYMENT_LOCATION = YES AND $SKIP_INSTALL = YES or $SKIP_INSTALL = NO and INSTALL_PATH is not defined.

Example values:

  • /Volumes/Users/genica/MyProject/build/Debug

  • /tmp/MyProject.dst/Users/genica/Applications

  • /Volumes/Users/genica/MyProject/build/UninstalledProducts

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 DERIVED_FILE_DIR, not the directory identified by this build setting.

产品编译产生的附属文件目录

Effectors:

TARGET_NAMECONFIGURATION_TEMP_DIR (Per-Configuration Intermediate File Path).

Value:

$CONFIGURATION_TEMP_DIR/$TARGET_NAME.build

Example value:

/Volumes/Users/genica/MyProject/build/MyProject.build/Debug/MyProduct.build

Affects:

DERIVED_FILE_DIROBJECT_FILE_DIRREZ_COLLECTOR_DIRTARGET_BUILD_DIR.

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:

WRAPPER_NAME.

Default value:

$WRAPPER_NAME/Contents

Example value:

MyProduct.bundle/Contents

Affects:

EXECUTABLE_PATHFRAMEWORKS_FOLDER_PATHINFOPLIST_PATHPLUGINS_FOLDER_PATHPRIVATE_HEADERS_FOLDER_PATHPUBLIC_HEADERS_FOLDER_PATHSCRIPTS_FOLDER_PATHSHARED_FRAMEWORKS_FOLDER_PATHUNLOCALIZED_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 FilesinRuntime 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:

Info.plist

Affects:

INFOPLIST_PATH.

Related to:

INFOPLIST_OUTPUT_FORMAT

INFOPLIST_OUTPUT_FORMAT

Description:

Identifier. Specifies the whether the information property list file is written using the binary format.

Values:

  • binary: Specifies the binary format.

  • <unspecified>: Specifies the XML-based format.

Related to:

INFOPLIST_FILE.

INFOPLIST_PATH

Description:

Bundle file path. Specifies the path to the bundle’s information property list file.

Effectors:

INFOPLIST_FILECONTENTS_FOLDER_PATH.

Default value:

$CONTENTS_FOLDER_PATH/$INFOPLIST_FILE

Example value:

MyProduct.bundle/Contents/Info.plist

INFOSTRINGS_PATH

Description:

Bundle file path. Specifies the file that contains the bundle’s localized strings file.

Default value:

/InfoPlist.strings

FRAMEWORKS_FOLDER_PATH

Description:

Bundle directory path. Specifies the directory that contains the product’s embedded frameworks.

Effector:

CONTENTS_FOLDER_PATH.

Default value:

$CONTENTS_FOLDER_PATH/Contents/Frameworks

Example value:

MyProduct.bundle/Contents/Frameworks

GENERATE_PKGINFO_FILE

Description:

Boolean value. Specifies whether to generate the file specified by PKGINFO_FILE_PATH, even when the file is not expected.

Values:

  • YES: Always generate the package information file.

  • NO: Do not generate the package information file.

Default value:

  • YES: In application targets.

  • NO: In other target types.

Companion:

PKGINFO_FILE_PATH.

DOCUMENTATION_FOLDER_PATH

Description:

Bundle directory path. Identifies the directory that contains the bundle’s documentation files.

Default value:

/Documentation

EXECUTABLES_FOLDER_PATH

Description:

Bundle directory path. Identifies the directory that contains additional binary files.

Effector:

CONTENTS_FOLDER_PATH.

Default value:

$CONTENTS_FOLDER_PATH/Executables

Example value:

MyProduct.bundle/Contents/Executables

EXECUTABLE_EXTENSION

Description:

Identifier. Specifies the extension of the binary the target produces.

Effectors:

MACH_O_TYPE

Default values:

  • bundle: When $MACH_O_TYPE = mh_bundle.

  • dylib: When $MACH_O_TYPE = mh_dylib.

  • a: When $MACH_O_TYPE = staticlib.

  • none: When $MACH_O_TYPE = mh_executable.

Affects:

EXECUTABLE_SUFFIX.

EXECUTABLE_FOLDER_PATH

Description:

Bundle directory path. Identifies the directory that contains the binary the target builds.

Effector:

CONTENTS_FOLDER_PATH.

Default value:

$CONTENTS_FOLDER_PATH/MacOS

Example value:

MyProduct.app/Contents/MacOS

EXECUTABLE_NAME

Description:

Filename. Specifies the name of the binary the target produces.

Effectors:

PRODUCT_NAMEEXECUTABLE_PREFIXEXECUTABLE_SUFFIX.

Default value:

$EXECUTABLE_PREFIX$PRODUCT_NAME$EXECUTABLE_SUFFIX

Example values:

  • MyProduct

  • MyDynamicLibrary.dylib

Affects:

EXECUTABLE_PATH.

EXECUTABLE_PATH

Description:

Bundle directory path. Specifies the path to the binary the target produces within its bundle.

Effectors:

CONTENTS_FOLDER_PATH, , EXECUTABLE_NAME.

Default value:

$CONTENTS_FOLDER_PATH$EXECUTABLE_NAME

Example values:

  • MyApp.app/Contents/MacOS/MyApp

  • MyDynamicLibrary.dylib

EXECUTABLE_PREFIX

Description:

File prefix. Specifies the prefix of the binary filename.

Default value:

None.

Affects:

EXECUTABLE_NAME.

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:

EXECUTABLE_EXTENSION.

Default value:

.$EXECUTABLE_EXTENSION

Example value:

.bundle

Affects:

EXECUTABLE_NAME.

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:

com.apple.package-type.wrapper: In kernel extension, application, bundle, and plug-in targets.

com.apple.package-type.wrapper.framework: In framework targets.

com.apple.package-type.mach-o-executable: In command-line utility targets.

com.apple.package-type.mach-o-dylib: In dynamic library targets.

com.apple.package-type.static-library: In static library targets.

PLUGINS_FOLDER_PATH

Description:

Bundle directory path. Specifies the directory that contains the product’s plug-ins.

Effector:

CONTENTS_FOLDER_PATH.

Default value:

$CONTENTS_FOLDER_PATH/Contents/PlugIns

Example value:

MyProduct.bundle/Contents/PlugIns

PRIVATE_HEADERS_FOLDER_PATH

Description:

Bundle directory path. Specifies the directory that contains the product’s private header files.

Effector:

CONTENTS_FOLDER_PATH.

Default value:

$CONTENTS_FOLDER_PATH/Contents/PrivateHeaders

Example value:

MyProduct.bundle/Contents/PrivateHeaders

PKGINFO_FILE_PATH

Description:

Bundle file path. Specifies the file that contains the bundle’s package information file.

Effector:

CONTENTS_FOLDER_PATH.

Value:

$CONTENTS_FOLDER_PATH/PkgInfo

Example value:

MyProduct.bundle/Contents/PkgInfo

PUBLIC_HEADERS_FOLDER_PATH

Description:

Bundle directory path. Specifies the directory that contains the product’s public header files.

Effector:

CONTENTS_FOLDER_PATH.

Default value:

$CONTENTS_FOLDER_PATH/Contents/PublicHeaders

Example value:

MyProduct.bundle/Contents/PublicHeaders

SCRIPTS_FOLDER_PATH

Description:

Bundle directory path. Specifies the directory that contains the product’s scripts.

Effector:

CONTENTS_FOLDER_PATH.

Default value:

$(UNLOCALIZED_RESOURCES_FOLDER_PATH)/Scripts

Example value:

MyProduct.bundle/Contents/Resources/Scripts

SHARED_FRAMEWORKS_FOLDER_PATH

Description:

Bundle directory path. Specifies the directory that contains the product’s shared frameworks.

Effector:

CONTENTS_FOLDER_PATH.

Default value:

$CONTENTS_FOLDER_PATH/Contents/SharedFrameworks

Example value:

MyProduct.bundle/Contents/SharedFrameworks

UNLOCALIZED_RESOURCES_FOLDER_PATH

Description:

Bundle directory path. Specifies the directory that contains the product’s unlocalized resources.

Effector:

CONTENTS_FOLDER_PATH.

Default value:

$CONTENTS_FOLDER_PATH/Contents/Resources

Example value:

MyProduct.bundle/Contents/Resources

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:

app: In application products.

kext: In kernel extension products.

bundle: In bundle and plug-in products.

framework: In framework products.

none: In command-line utility, dynamic library, and static library products.

Example value:

bundle

Affects:

WRAPPER_SUFFIX.

WRAPPER_NAME

Description:

Filename. Specifies the filename (including the appropriate extension) of the product bundle.

Effectors:

PRODUCT_NAMEWRAPPER_SUFFIX.

Value:

$PRODUCT_NAME.$WRAPPER_SUFFIX

Example value:

MyProduct.bundle

Related to:

PACKAGE_TYPE.

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:

WRAPPER_EXTENSION (Wrapper Extension).

Default value:

.$WRAPPER_EXTENSION

Example value:

.bundle

Affects:

WRAPPER_NAME.



详细地址:https://developer.apple.com/legacy/library/documentation/DeveloperTools/Reference/XcodeBuildSettingRef/1-Build_Setting_Reference/build_setting_ref.html#//apple_ref/doc/uid/TP40003931-CH3-SW48

0 0
原创粉丝点击