我正在分析CMake项目,我想获取源文件所依赖的所有头文件。是否有工具或命令,例如gcc -M
或g++ -M
列出CMake项目中一个文件的所有依赖关系?如果我还可以获取每个头文件所属的Target,那就更好了。
当然,我不能直接使用g++ -M
,因为它找不到由CMakeLists.txt
整理的某些依赖项。
由于cmake
命令将生成MakeFile
,因此Make的工具或命令也可能对我有用。
检查您的cmake项目的构建文件夹。对于每个目标,CMake应生成一个名为C.includecache
的文件。该文件包含包含依赖项信息。
例如,如果您有一个main.c
文件,其中包含stdio.h
标头。 C.includecache
文件将包含一个条目,例如:
/path/to/main.c
stdio.h