1 个不稳定版本
0.2.0 | 2023年11月17日 |
---|
#408 在 构建工具
52KB
1K SLoC
Lingo - 通用语言程序的构建工具
联系方式: [email protected]
Lingo 是通用语言项目的一站式构建工具。Lingo 将管理依赖项,配置构建脚本,并可能为嵌入式平台进行交叉编译。
入门
Lingo 是一个 Rust 项目,使用 cargo 构建。要安装它,只需运行 cargo install --path .
命令行界面
lingua-franca package manager and build tool 0.1.2
tassilo.tanneberger@tu-dresden.de
Build system of lingua-franca projects
USAGE:
lingo [OPTIONS] <SUBCOMMAND>
OPTIONS:
-b, --backend <BACKEND> Force lingo to use the specified backend [default: cli]
-h, --help Print help information
-V, --version Print version information
SUBCOMMANDS:
build Compile the current package
clean Remove build artifacts from the package
help Print this message or the help of the given subcommand(s)
init Initialize a new package
run Build and run a main program in the package
update Update all the dependencies in the package
基于 toml 的包配置
Lingo.toml 可能看起来像这样。
[package]
name = "example_project"
version = "0.1.0"
authors = ["[email protected]"]
homepage = "https://lf-lang.org"
license = "Weird Stallman License"
description = "A little Lingo.toml for people"
# shared properties of all binaries
[properties]
fast = true
# first binary in the project
[[app]]
name = "git-hook"
target = "cpp"
main_reactor = "src/Main.lf"
# main_reactor defaults to src/Main.lf
# dependencies
[[app.dependencies]]
git = {version = "0.3.2"}
tarfetcher = {version = "0.4.2"}
# replacement for target properties
[[app.properties]]
cmake-include = "./my-cmake.cmake"
logging = "info"
# second binary
[[app]]
name = "embedded"
# main_reactor = "src/SayHello.lf"
target = "zephyr"
[[app.dependencies]]
blink = {version = "0.1.2"}
[[app.properties]]
no-compile = true
依赖项
~18–29MB
~491K SLoC