|
1
2
我已经谈到这个了 here 在“CMake是否跟踪标头依赖项?”下。
CMake是一个构建系统
generator
跟踪需要重新生成的更改通常是(生成的)构建系统的工作。据我所知,CMake曾经做过一些这方面的工作,但在后来的版本中,它开始更多地依赖构建系统和编译器来完成这项工作。请参见示例
the
如果您想了解CMake支持的特定构建系统,请参阅该构建系统的文档,其中可能包含也可能不包含此类信息。例如 the Ninja docs have a section on header dependencies ,其中声明:
关于这些编译器机制,例如,请参见
the GCC flags that start with
至于构建系统如何知道文件何时发生了更改,通常构建系统会查看文件系统的时间戳。Ex。 from the Ninja docs :
但这并不是说他们可以在技术上使用其他机制,比如内容哈希。
CMake
做
跟踪编译器不适合或无法跟踪的其他类型的依赖项,例如
|
|
|
2
2
Cmake是一个位于
|