Creates an alias for one or more targets.
Alias( name ) ; Name of alias to create
{
.Targets ; Targets to alias
}
Builds one or more files (typically .cs files) into an assembly (a dll or executable).
CSAssembly( alias ) ; (optional) Alias
{
.Compiler ; Path to the C# compiler
.CompilerOptions ; Options to pass to the compiler
.CompilerOutput ; Output file to be generated
.CompilerInputPath ; Path to include files from
.CompilerInputPathRecurse ; (optional) whether to recurse into sub-dirs (default true)
.CompilerInputPattern ; (optional) pattern of input files (default *.cs)
.CompilerInputExcludePath ; (optional) folder to exclude
.CompilerReferences ; (optional) references for the assembly
}
Build-Time Substitutions
- CompilerOptions
- %1 - Input file(s) for the compilation, as specified by the various Input parameters.
- %2 - Output assembly as specified by 'CompilerOutput'.
- %3 - Additional references as specified by 'CompilerReferences'.
Builds a DLL by linking together one or more libraries.
Executable( alias ) ; (optional) Alias
{
.Linker ; Linker executable to use
.LinkerOutput ; Ouput from linker
.LinkerOptions ; Options to pass to linker
.Libraries ; Libraries to link into DLL
}
Build-Time Substitutions
- LinkerOptions
- %1 - Input file(s) for the link, as specified by the 'Libraries' parameter.
- %2 - Output assembly as specified by 'LinkerOutput'.
Builds an executable by linking together one or more libraries.
Executable( alias ) ; (optional) Alias
{
.Linker ; Linker executable to use
.LinkerOutput ; Ouput from linker
.LinkerOptions ; Options to pass to linker
.Libraries ; Libraries to link into executable
}
Build-Time Substitutions
- LinkerOptions
- %1 - Input file(s) for the link, as specified by the 'Libraries' parameter.
- %2 - Output assembly as specified by 'LinkerOutput'.
Repeats content in a loop, iterating through one or more arrays in parallel. Arrays must be of the same size. For each "A in B" declaration, variable "A" will contain one value in the "B" array.
ForEach( ?A in ?ArrayA, ; One or more arrays to loop through
?B in ?ArrayB,
... )
{
; Content to repeat
}
Builds a statically linked library.
Library( alias ) ; (optional) Alias
{
; options for compilation
.Compiler ; Compiler to use
.CompilerOptions ; Options for compiler
.CompilerOutputPath ; Path to store intermediate objects
; Options for librarian
.Librarian ; Librarian to collect intermediate objects
.LibrarianOptions ; Options for librarian
.LibrarianOutput ; Output path for lib file
; One or more input type must be specified
.CompilerInputPath ; (optional) Path to find files in
.CompilerInputPattern ; (optional) Pattern to use when finding files (default *.cpp)
.CompilerInputPathRecurse ; (optional) Recurse into dirs when finding files (default true)
.CompilerInputExcludePath ; (optional) Path to exclude from traversal
.CompilerInputFiles ; (optional) Explicit array of files to build
.CompilerInputUnity ; (optional) Unity to build
; (optional) Properties to control precompiled header use
.PCHInputFile ; (optional) Precompiled header (.h) file to use
.PCHOutputFile ; (optional) Precompiled header to compilation output
.PCHOptions ; (optional) Options for compiler for precompiled header
}
Build-Time Substitutions
- CompilerOptions
- %1 - Input file for each invocation of the compiler as determined by the various Input parameters.
- %2 - Output name of object being compiled, as specified by 'CompilerOutputPath' and the name of discovered objects
depending on the Compiler input options (extension is also replace with '.obj').
- LibrarianOptions
- %1 - List of objects to link.
- %2 - Output library as specified by 'LibrarianOutput'.
- PCHOptions
- %1 - Input file for used to generate the PCH (PCHInputFile).
- %2 - Output name of PCH file to generate (PCHOutputFile).
- %3 - (MSVC Only) Object file associated with PCH file, which will be used in linking. (PCHOutputFile + '.obj').
Defines global FASTBuild settings.
Environment()
{
.CachePath ; (optional) Path to cache location
.Environment ; (optional) Array of environment variables to use
}
Defines the execution of an executable as a test. The executable can be defined with the Executable function, or be an external pre-build executable.
Test( alias ) ; (optional) Alias
{
.TestExecutable ; Executable to execute
.TestOutput ; Output file for captured test output
.TestArguments ; (optional) Arguments to pass to test executable
.TestWorkingDir ; (optional) Working dir for test execution
}
Builds one or more Unity/Blob files containing includes of other source code files, in order to speed up compilation.
Unity( name ) ; Name of unity
{
.UnityInputPath ; Path to find files
.UnityInputExcludePath ; (optional) Path in which to ignore files
.UnityInputPattern ; (optional) Pattern of files to find (default *.cpp)
.UnityInputPathRecurse ; (optional) Recurse when searching for files (default true)
.UnityInputExcludedFiles ; (optional) Explicit list of excluded files
.UnityOutputPath ; Path to output generated Unity files
.UnityOutputPattern ; (optional) Pattern of output Unity file names (default Unity*.cpp)
.UnityNumFiles ; (optional) Number of Unity files to generate (default 1)
.UnityPCH : (optional) Precompiled Header file to add to generated Unity files
}