Function Reference

Summary

Functions
FunctionDesciption
AliasCreates an alias to one or more targets.
CSAssemblyBuilds a C# Assembly.
DLLBuilds a C/C++ DLL.
ExecutableBuilds a C/C++ Executable.
ForEachRepeats a section of configuration.
LibraryBuilds a static C/C++ library.
SettingsConfigures global FASTBuild settings.
TestBuilds and runs a Unit Test.
UnityGenerates a Unity/Blob file to speed up compilation.

Details

Alias

Creates an alias for one or more targets.

Alias( name ) ; Name of alias to create { .Targets ; Targets to alias }
CSAssembly

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

DLL

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

Executable

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

ForEach

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 }
Library

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

Settings

Defines global FASTBuild settings.

Environment() { .CachePath ; (optional) Path to cache location .Environment ; (optional) Array of environment variables to use }
Test

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 }
Unity

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 (or paths) 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 }