Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[cbuild] Consistent command line options & cleanup
Addressing Open-CMSIS-Pack/devtools#822 The changes include: 1. Undocumented feature to build CPRJ with root command line. 2. Added `buildcprj` command to build `*.cprj` files. - All build options specific to `*.cprj` build are moved under `buildcprj `command 3. Removed `list configuration`s command 4. Removed `--configuration` option, instead `-c,--context` can be used 5. `-C` short option for `--clean` 6. `-c, --context` should follow `[<cproject>][.<build-type>][+<target-type>]` 7. Use lower case small options for `--rebuild` & `--schema` i.e `-r` & `-s` respectively 8. Use only long options for `--log` & `--update-rte`. As `-L` and `-U `are reserved for other options in csolution 9. Allow multiple `--context` options ``` $ cbuild.exe -h cbuild: Build Invocation (C) 2023 Arm Ltd. and Contributors Usage: cbuild [command] <csolution.yml> [flags] Available Commands: buildcprj Generate output help Help about any command list List information Flags: -C, --clean Remove intermediate and output directories -c, --context strings Input context name e.g. project.buildType+targetType -d, --debug Enable debug messages -g, --generator string Select build system generator (default "Ninja") -h, --help Print usage -j, --jobs int Number of job slots for parallel execution -l, --load string Set policy for packs loading [latest|all|required] --log string Save output messages in a log file -O, --output string Set directory for all output files -p, --packs Download missing software packs with cpackget -q, --quiet Suppress output messages except build invocations -r, --rebuild Remove intermediate and output directories and rebuild -s, --schema Validate project input file(s) against schema -t, --target string Optional CMake target name --toolchain string Input toolchain to be used --update-rte Update the RTE directory and files -v, --verbose Enable verbose messages from toolchain builds -V, --version Print version Use "cbuild [command] --help" for more information about a command. ``` ``` $ cbuild.exe buildcprj -h Generate output Usage: cbuild buildcprj <project.cprj> [flags] Flags: -C, --clean Remove intermediate and output directories -d, --debug Enable debug messages -g, --generator string Select build system generator (default "Ninja") -h, --help Print usage -i, --intdir string Set directory for intermediate files -j, --jobs int Number of job slots for parallel execution --log string Save output messages in a log file -o, --outdir string Set directory for output binary files -p, --packs Download missing software packs with cpackget -q, --quiet Suppress output messages except build invocations -r, --rebuild Remove intermediate and output directories and rebuild -s, --schema Validate project input file(s) against schema -t, --target string Optional CMake target name --toolchain string Input toolchain to be used -u, --update string Generate *.cprj file for reproducing current build --update-rte Update the RTE directory and files -v, --verbose Enable verbose messages from toolchain builds ```
- Loading branch information