Contact | License

# 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) .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)