一般情况下,cmake不会直接进行构建,而是生成MakeFile文件,然后通过 make来构建软件或库。
make
最近尝试编译了一下qtcreator,在提供的指导文件中推荐使用Ninja来构建,于是我按照指导使用了Ninja来构建。
事后,我尝试使用 Ninja来构建一些项目,并且对 Ninja和 Make两种方式进行了粗略的比较。
Ninja
Make
在我的测试中,用 Ninja构建 Qt/C++项目比 Make快两倍左右,构建 C项目则比 Make快九倍左右。
Qt/C++
C
所以,想要让 cmake的构建更快,可以尝试使用 Ninja。
cmake
先要安装 Ninja,据我所知,Ninja在deepin上的包名是 ninja-build
ninja-build
然后是让cmake生成 ninja的构建文件,一般使用 -G Ninja来指定。
ninja
-G Ninja
例如:
cmake -B build -G Ninja
最后就可以更快地构建了。
水帖结束……
linglong就用的 Ninja
ninja不是一般搭配meson用么,现在和cmake也能搞一起了呀
学习了。。。
Featured Collection
Popular Ranking
Popular Events
一般情况下,cmake不会直接进行构建,而是生成MakeFile文件,然后通过
make来构建软件或库。最近尝试编译了一下qtcreator,在提供的指导文件中推荐使用Ninja来构建,于是我按照指导使用了Ninja来构建。
事后,我尝试使用
Ninja来构建一些项目,并且对Ninja和Make两种方式进行了粗略的比较。在我的测试中,用
Ninja构建Qt/C++项目比Make快两倍左右,构建C项目则比Make快九倍左右。所以,想要让
cmake的构建更快,可以尝试使用Ninja。先要安装
Ninja,据我所知,Ninja在deepin上的包名是ninja-build然后是让cmake生成
ninja的构建文件,一般使用-G Ninja来指定。例如:
最后就可以更快地构建了。
水帖结束……