
    Usage:

        install.bat --lang <languages> --build <build types> --lib <library types> --par <parallelism types> --mem <array memory allocation choices> --nproc <# of processes>

    Example:

        install.bat --lang C/C++/Fortran --build release --lib static/shared --mem heap --par none/mpi --nproc 3

    Flag definitions:

        --build         : the ParaMonte library build types. Possible values: release, testing, debug
        --lang          : the ParaMonte library language choices to build for. Possible values (case-insensitive): C/C++/Fortran/MATLAB/Python
        --lib           : the ParaMonte library type. Possible values: static, shared (or equivalently, dynamic)
        --par           : the ParaMonte library parallelism type. Possible values: none mpi cafsingle cafshared
        --mem           : the ParaMonte library memory type for array allocations. Possible values: stack heap
        --test          : the ParaMonte library test type: none, basic, sampler, all
                          If basic, only the auxiliary non-sampler routines will be tested.
                          If sampler, the ParaMonte sampler routines will be tested.
                          If all, then all tests will be performed.
                          The default is none.
        --exam_enabled  : the ParaMonte library example runs enabled? Possible values: true, false. If true, exmaples will be run where possible.
        --matdram       : enables the ParaMonte MatDRAM MATLAB library build. If specified, it will disable all other specified flags.
        --nproc         : the default number of processes on which the ParaMonte examples/tests (if any) will be run. Possible values: positive integers
        --clean         : clean the environmental variables upon exit. Possible values: true, false. Only one can be specified. The default is true.
        --matdram       : build the ParaMonte MatDRAM MATLAB library and do nothing else.
        --help          : help with the script usage

    NOTE: All flags are optional.
    NOTE: Use the forward-slash character / to separate multiple values for a single flag.
    NOTE: Use only one white-space character to separate flags and values from each other.
    NOTE: For any option that is not specified, the build will be done for all of the possible options of the flag.
    NOTE: Some values of some of the flags are inconsistent with each other. For example:
    NOTE:     Coarray Fortran parallelism "--par cafsingle/cafshared" cannot be specified along with shared library "--lib shared".
    NOTE:     Coarray Fortran parallelism "--par cafsingle/cafshared" cannot be specified along with C/MATLAB/Python languages "--lang C/MATLAB/Python".
    NOTE:     Heap memory allocation "--mem heap" cannot be specified along with static library "--lib static".

