Ninja学习

先了解CMake

项目可以使用CMake语言编写的文件抽象地指定其构建系统。从这些文件中,CMake通过一个名为generator的后端在本地为每个用户生成一个首选[构建系统]。

  • Generator

    • 这选择了要生成的构建系统的类型。

    • 运行cmake --help查看本地可用的生成器列表。

      • Generators
        
        The following generators are available on this platform (* marks default):
        * Unix Makefiles               = Generates standard UNIX makefiles.
          Green Hills MULTI            = Generates Green Hills MULTI files
                                         (experimental, work-in-progress).
          Ninja                        = Generates build.ninja files.
          Watcom WMake                 = Generates Watcom WMake makefiles.
          CodeBlocks - Ninja           = Generates CodeBlocks project files.
          CodeBlocks - Unix Makefiles  = Generates CodeBlocks project files.
          CodeLite - Ninja             = Generates CodeLite project files.
          CodeLite - Unix Makefiles    = Generates CodeLite project files.
          Sublime Text 2 - Ninja       = Generates Sublime Text 2 project files.
          Sublime Text 2 - Unix Makefiles
                                       = Generates Sublime Text 2 project files.
          Kate - Ninja                 = Generates Kate project files.
          Kate - Unix Makefiles        = Generates Kate project files.
          Eclipse CDT4 - Ninja         = Generates Eclipse CDT 4.0 project files.
          Eclipse CDT4 - Unix Makefiles= Generates Eclipse CDT 4.0 project files.
        
    • 可以选择使用下面的-G选项来指定一个生成器,或者简单地接受当前平台的默认CMake选项

      • cmake . -G Ninja

Ninja介绍

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

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

使用方法

mkdir build

cd build

cmake .. -G Ninja # build目录会生成build.ninja文件

ninja -j8

posted @ 2024-06-24 12:26  Tarzen  阅读(20)  评论(0编辑  收藏  举报