Cmake – 想要查看中间.i文件
我想知道如何让Cmake给我一个目标,允许我从我的C程序中保存.i文件,并完成宏扩展等。
我是否需要制作自定义目标才能执行此操作?
如果您正在使用Makefile生成器,那么已存在.i文件的目标。 输入make help
,您将看到所有目标,包括以.i
, .s
和.o
后缀的目标。
如果您不想手动运行make目标并过滤.i扩展名,您可以这样做:
for subdir in */ do (cd $subdir && make $(make help |& grep \\.i$ | cut -c4-)) done
或者,我有时在json的命令行工具中使用了compile_command.json
:
cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON # ... json < compile_commands.json -ga "command" | sed 's/.cpp.o -c/.cpp.ii -E/' | sh -
但请注意,可能存在边缘情况(如尚未创建的目标目录)。