Generates an XCode Project file, allowing integration of FASTBuild into XCode.
XCodeProject generates an XCode Project file, including files and other projects as specified via the various input options, to allow integration of FASTBuild into XCode. Project generated are compatible with XCode version 6.0 and later.
The XCode project file only specifies the FASTBuild target to invoke for compilation. It does not itself control the compilation settings used: they are still managed exclusively by the FASTBuild configuration. The generation of XCode projects is useful to allow the XCode IDE to be used as an editor and debugger while keeping FASTBuild as the underlying build system.
.ProjectOutput - String - (Required)
The output location of the project.pbxproj file. Note that a valid XCode Project requires a project.pbxproj file be created within a specifically named folder.Example:
.ProjectInputPaths - String or ArrayOfStrings - (Optional)
One or more directories can be specified to search for files and add to a project. Searching is recursive.Example:
.ProjectInputPathsExclude - String or ArrayOfStrings - (Optional)
One or more directories can be specified to ignore during directory traversal.Example:
.ProjectPatternToExclude - String or ArrayOfStrings - (Optional)
One or more patterns can be specified to ignore during directory traversal.Example:
.ProjectFiles - String or ArrayOfStrings - (Optional)
One or more files can be explicitly listed for inclusion in the project.Example:
.ProjectFilesToExclude - String or ArrayOfStrings - (Optional)
One or move files can be specified to ignore during directory traversal.Example:
.ProjectBasePath - String or ArrayOfStrings - (Optional)
One or move directories can be specified as the root of the folder hierarchy that will be created within the generated project.Example:
.ProjectAllowedFileExtensions - String or ArrayOfStrings - (Optional)
One or move wildcard patterns can be specified to restrict which files will be included in the project during directory traversal. Explicitly listed files (.ProjectFiles) will always be included.Example:
.XCodeBuildToolPath - String - (Optional)
The location of the FASTBuild executable to invoke can be specified.Example:
.XCodeBuildToolArgs - String - (Optional)
The command line args to pass to FASTBuild when compiling can be specified.Example:
- FASTBUILD_TARGET is a special per-configuration symbol that will be replaced (by XCode) with the .Target being compiled. FASTBuild automatically defines this symbol correctly for each build configuration.
- Note that the $ is escaped so that it's not interpretted by FASTBuild as the beginning of a variable substitution.
.XCodeBuildWorkingDir - String - (Optional)
The location to set as a working directory for compilation.Example:
.XCodeDocumentVersioning - Boolean - (Optional)
Controls whether the "Document Versionsing" checkbox is enabled.
By default (non-FASTBuild) XCode projects have this option set, which causes XCode to pass additional args on the command line to the process when debugging. This is usually not desired, so FASTBuild suppresses this by default. The option can be re-enabled if needed.Example:
.XCodeCommandLineArguments - String or ArrayOfStrings - (Optional)
Specify command line arguments passed to the process when debugging.Example:
.XCodeCommandLineArgumentsDisabled - String or ArrayOfStrings - (Optional)
Specify command line arguments passed to the process when debugging (same as .XCodeCommandLineArguments), but disable them by default.
.XCodeOrganizationName - String - (Required)
The organization name which appears in the generated project can be set.Example:
.ProjectConfigs - Array of ProjectConfig Structure(s) - (Required)
One or more build configuration must be specified. Each configuration can be selected in the XCode UI and the various properties specify how to generate configuration info for XCode.Example:
.Config - String - (Required)
The name of the build configuration. This will be displayed in various places in the XCodeUI.Example:
.Target - String - (Required)
The target defined in the .bff which should be compiled for this configuration.Example:
.XCodeBaseSDK - String - (Optional)
The SDK associate with the target. This controls the options available for launching an executable for debugging and must be specified if the target is not 'macosx'.Example:
.XCodeDebugWorkingDir - String - (Optional)
The working directory to be used when debugging this build configuration. If not specified, the path to the executable created by .Target will be used.Example:
.XCodeIphoneOSDeploymentTarget - String - (Optional)
The iOS version required for deployment can be overridden from the XCode default.Example: