在调用cmake之前删除build文件夹中的所有内容是否合理?

随心所欲

我现在正在使用cmake在多个平台上编译和构建C ++项目。每次调用cmake脚本时,都会删除building文件夹中的所有内容。例如,我使用以下shell命令来说明如何调用cmake:

rm -rf build_folder
mkdir build_folder
cd build_folder
cmake ..

这样,我们可以确保由项目生成的库或二进制文件在源代码方面得到了更新。但是,这可能会花费一些时间,因为每次camke都会调用编译器从头开始构建项目。原因在于我们担心如果不删除建筑文件夹中的所有内容,cmake可能会保留先前建筑的某些中间结果。因此,我的问题是:我们的担忧是否合理?如果仅cmake ..在不删除文件夹中的任何内容的情况下调用上一个建筑文件夹,我们可能会遇到哪种危险?

塞巴斯蒂安·雷德尔(Sebastian Redl)

使用构建系统的主要目的是不必每次都重新构建所有内容。正确的构建系统会正确跟踪哪些文件已更改,以及因此需要进行正确,最少重建的命令。

如果这对您不起作用,则说明您已弄乱了构建系统。

如果您担心要针对不同的平台进行构建,并且构建系统无法识别差异,那只是构建系统混乱的一种方式。具体来说,问题在于您正在同一目录中依次构建不同的变体。至少我是从您的描述中得出的。太傻了,不要这样做。为每个平台使用不同的构建文件夹,以正确的配置在每个文件夹中调用cmake一次,然后保持不变。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

是否可以删除文件夹的所有内容?

删除子文件夹中的所有内容

是否可以删除特定文件夹中的所有子文件夹而无需对其进行硬编码或删除其他任何内容?

如何删除目录中没有特定文件夹及其内容的所有内容

Python,删除X天之前的文件夹中的所有文件

删除文件夹中所有文件,但名称中包含以下内容的文件除外

如何检查python文件夹中的所有文件是否具有不同的内容?

删除Mavericks中没有标签的文件夹中的所有内容

如何确保从子文件夹中删除除 *.bin 文件之外的所有内容?

通过批处理文件从子文件夹中删除所有内容

删除保留所有内容的父文件夹

如何以编程方式删除Cloud Storage Bucket中文件夹中的所有内容

为什么我的代码会删除文件夹中的所有内容?

删除目录中除两个特定文件夹外的所有内容

如何从文件夹中删除所有文件?

从递归文件夹中删除所有zip文件

强制删除文件夹中的所有文件

使用PHP从文件夹中删除所有文件?

如何删除文件夹XXX中的所有文件

删除firebase文件夹中的所有文件?

删除我的文件夹中的所有.gitignore文件

如何删除某个文件夹中的所有文件

删除文件夹中的所有文件和文件夹,以结尾的文件和文件夹为准

如何最好地删除文件夹及其子文件夹中的所有文件

删除文件夹及其子文件夹中的所有文件

删除文件夹中除具有特定名称的文件夹外的所有文件夹

如何删除文件夹中的所有目录

如何通过覆盖现有文件夹来复制文件夹并删除Linux中的所有旧内容?

如何使用批处理文件删除2个特定文件夹中的所有内容?