如果我有生成生成文件和项目文件的cmake构建系统,我应该提交并将生成文件推送到git repo吗?这样做的优点和缺点是什么?
如果没有,那么在每次拉动之后以及构建之前,我们是否需要使用cmake重新生成所有内容?
此外,如果我生成了makefile和构建目标,然后又更改了源文件,然后又生成了makefile(这是不必要的),cmake会知道最新的信息吗?还是它将再次从头开始构建所有内容?
答案 0 :(得分:2)
在基于CMake的项目中,运行cmake
不仅是构建过程的正常且预期的一部分,而且是必需的。它准备针对构建计算机定制的构建支持和数据(项目文件/ makefile等)。提交那些生成的工件会帮助 没有人 ,并且不必要地开辟了混乱和用户错误的途径(使用存储库中的版本而不是生成新版本)。
有一种流派,认为不能(自动)构建的任何东西都不应提交。我本人并没有走得太远,但是肯定必须(重新)构建任何东西都是没有意义的。