美文网首页
Ninja——小而快的构建系统

Ninja——小而快的构建系统

作者: 若梦儿 | 来源:发表于2019-01-19 19:18 被阅读3次

介绍

Ninja 是Google的一名程序员推出的注重速度的构建工具,一般在Unix/Linux上的程序通过make/makefile来构建编译,而Ninja通过将编译任务并行组织,大大提高了构建速度。

安装

目前最新版本是17年9月11日推出的v1.8.2,可以直接在github上下载其二进制文件,链接

或者通过你所使用的系统的包管理器,比如apt、pacman、yum、dnf等。

这里介绍使用Ubuntu 18.04安装的方法,

# 查看信息
apt show ninja-build
# 输出如下
Package: ninja-build
Version: 1.8.2-1
Priority: optional
Section: universe/devel
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Felix Geyer <fgeyer@debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 296 kB
Depends: libc6 (>= 2.15), libstdc++6 (>= 5.2)
Conflicts: ninja
Homepage: https://ninja-build.org/
Download-Size: 93.3 kB
APT-Sources: https://mirrors.tuna.tsinghua.edu.cn/ubuntu bionic/universe amd64 Packages
Description: small build system closest in spirit to Make
 Ninja is yet another build system. It takes as input the interdependencies of
 files (typically source code and output executables) and orchestrates
 building them, quickly.
 .
 Ninja joins a sea of other build systems. Its distinguishing goal is to be
 fast. It is born from the Chromium browser project, which has over 30,000
 source files and whose other build systems can take ten seconds to start
 building after changing one file. Ninja is under a second.

# 安装
sudo apt install ninja-build

使用

我一般是通过cmake来生成ninja的配置,进而进行编译。

# 示例
cmake -G "Ninja" 
ninja 

编译llvm+clang时用到了ninja,速度还不错。

详细使用方法可以参考man手册。

相关文章

  • Ninja——小而快的构建系统

    介绍 Ninja 是Google的一名程序员推出的注重速度的构建工具,一般在Unix/Linux上的程序通过mak...

  • ninja环境安装

    ninja是一个小型构建系统,专注于速度,和常用的make类似,有一些软件就是基于ninja编译构建的,比如cli...

  • 用 Ninja and GN 来加速 C++构建

    Ninja Ninja 原意是忍者的意思,它是一个专注于速度的小型构建工具。它是一个构建系统。 它将文件的相互依赖...

  • Flutter engine编译&调试

    概念 Flutter Engine使用GN和Ninja进行编译,GN编译后生成Ninja的构建文件,Ninja将输...

  • CMakeLists.txt 构建流程

    CMakeLists 是一个高级别的用于构建的配置脚本,脚本最终解释为ninja。ninja是跨端的统一构建工具,...

  • Ninja编译介绍

    因为webrtc是用ninja编译的,所以学习了下Ninja。 Ninja是一种类似GNU make的编译系统。 ...

  • 可视化讲解 DOM 构建过程

    可视化讲解 DOM 构建过程 前言 最近在看 Secrets of the JavaScript Ninja, 书...

  • ninja build系统介绍

    1 基本用法 先看一下我们的例子 $ ls bar.c build.ninja foo.c out special...

  • Ninja saves beauty

    Ninja saves beauty is a cool ninja game that moves ninjas...

  • Ninja - a build system

    Ninja, similar to Make Ninja primarily targets only one p...

网友评论

      本文标题:Ninja——小而快的构建系统

      本文链接:https://www.haomeiwen.com/subject/ctbzdqtx.html