ObjectList
      ObjectList
    
    Builds a list of objects, typically for later input into a Library, Executable or DLL.
ObjectList( alias )         ; 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)
  .CompilerOutputKeepBaseExtension ; (optional) Append extension instead of replacing it (default: false)
  .CompilerOutputPrefix     ; (optional) Specify a prefix for generated objects (default none)
  ; 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 ObjectList (Rarely needed,
                            ; but useful when a ObjectList relies on generated code).
  .ConcurrencyGroupName     ; (optional) Concurrency Group for this task
  .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)
 - 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)
 
