Contact: tassilo-tanneberger@tu-dresden.de
Lingo is a one-stop build tool for the Lingua Franca project. Lingo will manage your dependencies, configure build scripts and will potentially cross-compile for embedded platforms.
Lingo is a Rust project and is built with cargo. To install it simply run
cargo install --path .
Build system for the Lingua Franca coordination language
Usage: lingo [OPTIONS] <COMMAND>
Commands:
init Initialize a Lingua Franca package
build Compile one or multiple binaries in a Lingua Franca package
update Update the dependencies and potentially build tools
run Build and run binaries
clean Remove build artifacts
help Print this message or the help of the given subcommand(s)
Options:
-q, --quiet Do not produce any output
-v, --verbose Provide more detailed feedback
-h, --help Print help
-V, --version Print version
The Lingo.toml may look something like this.
[package]
name = "example_project"
version = "0.1.0"
authors = ["tassilo.tannerber@tu-dresden.de"]
homepage = "https://lf-lang.org"
license = "Weird Stallman License"
description = "A little Lingo.toml for people"
# a library exported by this LF Package
[lib]
name = "websocket"
location = "./src/lib"
target = "C"
platform = "Native"
[lib.properties]
cmake-include="./websocket.cmake"
# first binary in the project
[[app]]
name = "git-hook"
target = "cpp"
main = "src/Main.lf"
# replacement for target properties
[[app.properties]]
cmake-include = "./my-cmake.cmake"
logging = "info"
# dependencies
[[dependencies]]
mqtt = {version=">=0.1", git="https://github.com/LF-Community/mqtt.git", branch="main"}
We mainly support Linux and MacOs, support for windows is secondary.