概述

Meson 是一个构建系统,旨在尽可能地对用户友好,同时不牺牲性能。实现这一目标的主要工具是用户用来描述构建结构的自定义语言。该语言的主要设计目标是简洁、清晰和简洁。它从 Python 编程语言中汲取了许多灵感,Python 被认为非常易读,即使是以前从未用 Python 编程过的人也能看懂。

另一个主要理念是为现代编程工具和最佳实践提供一流的支持。这些功能包括单元测试、代码覆盖率报告、预编译头文件等各种功能。所有这些功能都应立即适用于使用 Meson 的任何项目。用户无需寻找第三方宏或编写 shell 脚本即可获得这些功能。它们应该开箱即用。

这种功能不应该以有限的可用性为代价。许多软件构建需要非正统的步骤。一个常见的例子是,您首先需要构建一个自定义工具,然后使用该工具生成更多源代码来构建。该功能需要得到支持,并且使用起来应该和系统中的其他部分一样容易。

术语

Meson 遵循其他流行构建系统(如 CMake 和 GNU Autotools)的总体结构。这意味着构建被分为两个独立的步骤:配置步骤构建步骤。第一步检查系统,检查依赖项,并执行配置构建所需的所有其他步骤。然后它生成实际的构建系统。第二步就是简单地执行这个生成的构建系统。最终结果是一组构建目标,通常是可执行文件和共享库和静态库。

包含源代码的目录称为源代码目录。相应地,写入输出的目录称为构建目录。在其他构建系统中,这两个目录通常是同一个目录。这称为源内构建。构建目录单独的情况称为源外构建

Meson 与大多数构建系统的不同之处在于它强制执行一个单独的构建目录。构建系统创建的所有文件都放在构建目录中。实际上不可能进行源内构建。对于习惯在源代码树中构建的人来说,这似乎是一个不必要的复杂化。但是,只进行源外构建有很多好处。这些将在下一章中解释。

当源代码被构建时,通常会运行一组单元测试。它们确保程序按预期工作。如果成功,构建结果可以安装,之后它就可以使用了。

搜索结果是