Library
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
.CompilerOutputExtension ; (optional) Specify the file extension for generated objects (default .obj or .o)
.CompilerOutputPrefix ; (optional) Specify a prefix for generated objects (default none)
; Options for librarian
.Librarian ; Librarian to collect intermediate objects
.LibrarianOptions ; Options for librarian
.LibrarianType ; (optional) Specify the librarian type. Valid options include:
; auto, msvc, ar, ar-orbis, greenhills-ax
; Default is 'auto' (use the librarian executable name to detect)
.LibrarianOutput ; Output path for lib file
.LibrarianAdditionalInputs; (optional) Additional inputs to merge into library
.LibrarianAllowResponseFile ; (optional) Allow response files to be used if not auto-detected (default: false)
.LibrarianForceResponseFile ; (optional) Force use of response files (default: false)
; Specify inputs for compilation
.CompilerInputPath ; (optional) Path to find files in
.CompilerInputPattern ; (optional) Pattern(s) to use when finding files (default *.cpp)
.CompilerInputPathRecurse ; (optional) Recurse into dirs when finding files (default true)
.CompilerInputExcludePath ; (optional) Path(s) to exclude from compilation
.CompilerInputExcludedFiles ; (optional) File(s) to exclude from compilation (partial, root-relative of full path)
.CompilerInputExcludePattern ; (optional) Pattern(s) to exclude from compilation
.CompilerInputFiles ; (optional) Explicit array of files to build
.CompilerInputFilesRoot ; (optional) Root path to use for .obj path generation for explicitly listed files
.CompilerInputUnity ; (optional) Unity to build (or Unities)
.CompilerInputAllowNoFiles ; (optional) Don't fail if no inputs are found
.CompilerInputObjectLists ; (optional) ObjectList(s) whos output should be used as an input
; Cache & Distributed compilation control
.AllowCaching ; (optional) Allow caching of compiled objects if available (default true)
.AllowDistribution ; (optional) Allow distributed compilation if available (default true)
; Custom preprocessor support
.Preprocessor ; (optional) Compiler to use for preprocessing
.PreprocessorOptions ; (optional) Args to pass to compiler if using custom preprocessor
; Additional compiler options
.CompilerForceUsing ; (optional) List of objects to be used with /FU
; (optional) Properties to control precompiled header use
.PCHInputFile ; (optional) Precompiled header (.cpp) file to compile
.PCHOutputFile ; (optional) Precompiled header compilation output
.PCHOptions ; (optional) Options for compiler for precompiled header
; Additional options
.PreBuildDependencies ; (optional) Force targets to be built before this library (Rarely needed,
; but useful when a library relies on generated code).
.Environment ; (optional) Environment variables to use for local build
; If set, librarian uses this environment
; If not set, librarian uses .Environment from your Settings node
.Hidden ; (optional) Hide a target from -showtargets (default false)
}
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 CompilerOutputExtension).
- %3 - Object file for PCH file, as used in linking. (PCHOutputFile + CompilerOutputExtension). (MSVC Only)
- %4 - CompilerForceUsing expansion. Expand items with /FU"%4". (MSVC Only)
- 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 - Object file for PCH, as used in linking. (PCHOutputFile + CompilerOutputExtension). (MSVC Only)
- %4 - CompilerForceUsing expansion. Expand items with /FU"%4". (MSVC Only)