# 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) ; Options for librarian .Librarian ; Librarian to collect intermediate objects .LibrarianOptions ; Options for librarian .LibrarianOutput ; Output path for lib file .LibrarianAdditionalInputs; (optional) Additional inputs to merge into library ; Specify inputs for compilation .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(s) to exclude from compilation .CompilerInputFiles ; (optional) Explicit array of files to build .CompilerInputUnity ; (optional) Unity to build ; 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). }

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)