CMake获取相关的头文件,例如gcc -M

问题描述 投票:0回答:1

我正在分析CMake项目,我想获取源文件所依赖的所有头文件。是否有工具或命令,例如gcc -Mg++ -M列出CMake项目中一个文件的所有依赖关系?如果我还可以获取每个头文件所属的Target,那就更好了。

当然,我不能直接使用g++ -M,因为它找不到由CMakeLists.txt整理的某些依赖项。

由于cmake命令将生成MakeFile,因此Make的工具或命令也可能对我有用。

gcc makefile cmake
1个回答
0
投票

检查您的cmake项目的构建文件夹。对于每个目标,CMake应生成一个名为C.includecache的文件。该文件包含包含依赖项信息。

例如,如果您有一个main.c文件,其中包含stdio.h标头。 C.includecache文件将包含一个条目,例如:

/path/to/main.c
stdio.h
© www.soinside.com 2019 - 2024. All rights reserved.