我注意到最近版本的 CMake release notes 有一行关于新功能的内容:
<块引用>Makefile Generators,对于一些工具链,现在在编译源文件时使用编译器来提取隐式依赖。
这听起来很酷,但我不知道如何实际使用它。快速搜索没有返回任何明显的文档。这里有人知道如何使用它吗?
答案 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