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 .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(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) ; 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 }

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)