• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

构建工具的汇总

武飞扬头像
HUI的技术笔记
帮助1

GNU Build System

  • 所谓GNU构建系统(GNU Build System)主要是指通过autoconf、automake和libtool这三个工具构建出来的软件结构体系,又名Autotools。通常和GNU make、gettext以及GCC一起配套使用。这个软件结构体系也是所有GNU项目的打包方式。
  • 此打包方式的优点在于项目的可移植性,当程序本身不包含与硬件架构有关的代码时,可以直接将源码包复制到另一台计算机上,通过简单的./configure、make和make install三步骤完成程序的配置,编译和安装。

meson

  • Meson 是用于自动化构建的自由软件,使用Python语言编写,主要目标是为了让开发者节约用于配置构建系统的时间。
  • 多平台支持,包括 GNU/Linux、Windows、MacOS、GCC、Clang、Visual Studio等。
  • 多语言支持,包括 C、C 、D、Fortran、Java、Rust等。
  • 为多种操作系统以及裸机提供交叉编译。
  • 针对极其快速和完整的增量构建进行了优化,同时又不牺牲正确性。
  • 类似于 CMake ,Meson并不直接构建软件,而是使用合适的后端,在 GNU/Linux 使用 ninja,在Windows 上使用 Visual Studio,在 MacOS 上使用 Xcode。

cmake

  • CMake是个一个开源的跨平台自动化建构系统,用来管理软件建置的程序,并不依赖于某特定编译器,并可支持多层目录、多个应用程序与多个库。 它用配置文件控制建构过程(build process)的方式和Unix的make相似,只是CMake的配置文件取名为CMakeLists.txt。

Ninja

  • Ninja 是 Google 的一名程序员推出的注重速度的构建工具,一般在 Unix/Linux 上的程序通过 make/makefile 来构建编译,而 Ninja 通过将编译任务并行组织,大大提高了构建速度。
  • GYP、CMake和Meson支持生成Ninja构建文件。

bazel

  • Google开源的构建工具。它通过将构建过程进行抽象建模,实现了一个接近理解的构建系统。
  • bazel支持增量式编译,支持缓存,支持分布式扩展。
  • 清晰的依赖关系。

gradle

  • Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。Gradle 构建脚本使用的是 Groovy 或 Kotlin 的特定领域语言来编写的,而不是传统的XML。
  • 当前官方支持的语言为Java、Groovy、Scala、C 、Swift、JavaScript等以及Spring框架。

maven

  • 是一个软件(特别是Java软件)项目管理及自动构建工具,Maven也可被用于构建和管理各种项目,例如C#,Ruby,Scala和其他语言编写的项目。

sCons

  • 一种软件开发工具程序,功能类似于UNIX上的make、autoconf与automake工具。它是一个开放源代码计划,采用MIT许可,原作者是史蒂芬·奈特(Steven Knight),使用Python语言开发。第一个正式版本在2010年3月23日发布。

GYP

  • GYP是Generate Your Projects的缩写,GYP的目的是为了支持更大的项目编译在不同的平台,比如Mac,Windows,Linux,它可以生成Xcode工程,Visual Studio工程,Ninja编译文件和Makefiles。

  • chromium的编译过程中用到了GYP,GN和Ninja这三个构建工具,GYP是一个在不同平台构建项目的工具,GN是GYP的升级版,Ninja是一个小型追求速度的构建系统。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgkkafc
系列文章
更多 icon
同类精品
更多 icon
继续加载