Cmake是否正确处理递归构建

LiK*_*Kao 2 cmake

我目前正在寻找一些项目的旧制造系统的替代品.我目前正在考虑的替代方案之一是cmake.但是据我所知,到目前为止,CMake更喜欢为每个目录配置一个配置文件,类似于Autotools和其他人喜欢的配置文件.

我知道递归make应该被认为是有害的,因为并不是总是知道整个依赖图(详见论文).因此,依赖递归make的其他工具要么在所有情况下都无法正常工作,要么需要一些包装器来解决这些问题.

我目前正在试图弄清楚CMake如何处理这种情况,以及如果在设计中考虑了论文中提到的问题.我将尝试本文中提到的示例,但是如果它们有效,它将无法确定,递归构建在所有情况下都能正常工作.

所以主要问题是:CMake是否考虑过这个问题?如果是这样,我在哪里可以阅读有关其解决方案

编辑:

我在这个问题上找到了CMake FAQ条目,但我对答案并不满意.我想真正的答案就在那里,但是我找不到它,因为到目前为止我还没有CMake内部知识,我不打算学习它们,如果我事先决定,它不适合我目的.

Jan*_*dec 6

CMake不会生成一个makefile CMakeLists.txt.它收集来自所有这些信息的所有信息,而不是创建一些令人难以置信的复杂信息,但可能是这样编写的,以确保文件的可靠性,并确保在相关CMakeLists.txt更改时重建文件.