CMake 的依赖提取是如何工作的?

时间:2021-05-08 21:12:41

标签: c++ cmake

我注意到最近版本的 CMake release notes 有一行关于新功能的内容:

<块引用>

Makefile Generators,对于一些工具链,现在在编译源文件时使用编译器来提取隐式依赖。

这听起来很酷,但我不知道如何实际使用它。快速搜索没有返回任何明显的文档。这里有人知道如何使用它吗?

1 个答案:

答案 0 :(得分:1)

这是指隐式header 依赖项。 GCC、Clang 和其他几个编译器都有一个标志,用于在第一次编译期间编写列出这些依赖项的文件。然后,CMake 将生成的构建系统指向这些文件,以便它们可以在增量构建期间加载额外的依赖项。

这在 CMake 中都是自动完成的,不需要您采取任何特殊措施。但是,可以通过将特殊变量设置为 FALSE /// ``` /// extern crate self as crate_name; //pretend we're some crate /// pub struct Member; /// fn main() { ::crate_name::Member; //demo fully-qualified name /// } /// ``` fn example() { } 禁用

这是引入此功能的合并请求:https://gitlab.kitware.com/cmake/cmake/-/merge_requests/5528

要进一步阅读,请参阅 GCC 上 CMAKE_DEPENDS_USE_COMPILER 标志的文档:https://gcc.gnu.org/onlinedocs/gcc/Preprocessor-Options.html

相关问题