linuxcmake增量编译,如何加快我的CMakeC++项⽬的编译时
间?
我偶然发现了⼏个关于改进CMake C++项⽬周转时间的SO问题(如"At what level should I distribute my build process?"或"cmake rebuild_cache for just a subdirectory?"),我想知道是否有利⽤CMake提供的特定可能性的更⼀般的指导。如果可能没有跨平台编译时优化,我主要对基于Visual Studio或GNU toochain的⽅法感兴趣。如何加快我的CMake C++项⽬的编译时间?
⽽且我已经了解并投资进⼊⼀般建议⽅⾯加快C++构建:
更改/优化/微调⼯具链
优化你的代码库/软件体系结构(例如,通过减少的依赖关系,并使⽤良好定义的⼦项⽬ - 单元测试)
投资在⼀个更好的硬件(SSD,CPU,存储器)
like like recommended here,here or here。所以我在这个问题上的重点是第⼀点。
另外,我知道的建议中的CMake的Wiki上到:
前者只处理基本知识(并⾏make),后来把⼿⼤多是如何加快解析CMake⽂件。
只是为了使这个多⼀点具体的,如果我从使⽤MSYS/GNU here 100库我得到了以下time测量结果我的CMake的例⼦:
$ cmake --version
cmake version 3.5.2
CMake suite maintained and supported by Kitware (kitware/cmake).
$ time -p cmake -G "MSYS Makefiles" ..
-- The CXX compiler identification is GNU 4.8.1
...
-- Configuring done
-- Generating done
-- Build files have been written to: [...]
real 27.03
user 0.01
sys 0.03
$ time -p make -j8
...
[100%] Built target CMakeTest
real 113.11
user 8.82
sys 33.08
cmake如何使用所以我有⼀个总的〜 140秒,我的⽬标 - 这个公认的⾮常简单的例⼦ - 就是将其降低到标准设置/⼯具的10-20%。
2016-05-19
Florian