lf-lang / lingo

Package manager and build tool for the Lingua Franca coordination language
BSD 2-Clause "Simplified" License
4 stars 1 forks source link

Lingo Toml Command Schema #11

Closed tanneberger closed 10 months ago

tanneberger commented 1 year ago
$ lingo -h
Build system of lingua-franca projects

Usage: lingo [OPTIONS] <COMMAND>

Commands:
  init    initializing a lingua-franca project
  build   compiling one ore multiple binaries in a lingua-franca package
  update  Updates the dependencies and potentially build tools
  run     builds and runs binaries
  clean   removes build artifacts
  help    Print this message or the help of the given subcommand(s)

Options:
  -q, --quiet    lingo wouldn't produce any output
  -v, --verbose  lingo wouldn't produce any output
  -h, --help     Print help
  -V, --version  Print version
$ lingo build -h
compiling one ore multiple binaries in a lingua-franca package

Usage: lingo build [OPTIONS]

Options:
  -b, --build-system <BUILD_SYSTEM>  which build system to use TODO: discuss this [possible values: lfc, c-make]
  -l, --language <LANGUAGE>          which target to build [possible values: c, cpp, rust]
      --platform <PLATFORM>          overwrites any possible board definition in Lingo.toml [possible values: native, zephyr]
      --lfc <LFC>                    tell lingo where the lfc toolchain can be found
  -n, --no-compile                   skips building aka invoking the build system so it only generates code
  -k, --keep-going                   if one of the apps fails to build dont interrupt the build process
  -r, --release                      compiles the binaries with optimizations turned on and strips debug symbols
  -a, --apps <APPS>                  list of apps to build if left empty all apps are built
  -h, --help                         Print help