#build-system #cpp #build-tool #c

build embargo

A simple and fast opinionated build system for c/c++

3 个不稳定版本

0.1.1 2023年5月1日
0.1.0 2023年4月2日
0.0.1 2023年3月24日

#379 in 构建实用工具

Download history 13/week @ 2024-03-09 21/week @ 2024-03-16 42/week @ 2024-03-30 10/week @ 2024-04-06

62 monthly downloads

GPL-3.0 license

25KB
580 代码行

Embargo

Embargo 是一个简单快速的、有偏见的 c/c++ 构建系统

安装或更新

安装 rust

然后使用 rust 包管理器安装 embargo

cargo install embargo

Embargo 默认使用 llvm 工具链(clang, lldb, clang-tidy)

Debian 依赖

apt install clang lldb clang-tidy

使用方法

创建一个新项目

首先创建一个项目文件夹,然后在该文件夹内输入以下命令

embargo init

这将创建一个默认的 "Hello World" 项目

构建您的应用程序

调试构建

embargo build

发布构建

embargo release-build

构建可以在 build/debugbuild/release 文件夹中找到

运行您的应用程序

调试运行

embargo run

发布运行

embargo release-run

Embargo 会在运行之前构建您的应用程序,确保您总是运行最新版本的应用程序

embargo run 在调试器中运行您的应用程序,以便您可以轻松地找到代码中的崩溃位置。

调试您的应用程序

embargo debug

这将启动调试器,并将您的应用程序附加到调试器上

检查您的应用程序

embargo lint

这将使用 clang-tidy 来查找代码中的常见错误

生成 clangd 配置

embargo clangd-config

这将创建可以由 clangd 语言服务器使用的 compile_flags.txt

清理构建文件夹

embargo clean

这将删除构建文件夹

显示配置

embargo show-config

这将显示当前项目的 Embargo 配置

配置

Embargo 项目配置是从项目根目录的 Embargo.toml 文件中读取的

以下是一个使用 Embargo 默认设置的示例配置

compiler = "clang++"
debugger = "lldb"
linter = "clang-tidy"
flags = ["-Wall", "-Wextra", "-pedantic"]
debug-flags = ["-g"]
release-flags = ["-O2"]
linker-flags = []
linter-checks = ["clang-analyzer-*"]

如果配置中缺少键,Embargo 将使用以下默认设置

替代方案

如果您不想安装 rust 工具链,但仍然想要类似的功能,您可以考虑查看 PyBargo

依赖

~2–10MB
~87K SLoC