【问题标题】:custom build step after preprocessor with cmake使用 cmake 进行预处理后的自定义构建步骤
【发布时间】:2016-06-02 09:18:35
【问题描述】:

我正在尝试在使用 cmake 进行预处理之后添加自定义构建步骤。

在 c++ 预处理器步骤之后,我想在每个预处理的源文件上调用一个 python 脚本来修改它们。 这是一个 Makefile 示例:

all : prog

#compilation step
prog: main.i
    gcc main.i -g -Wall -o prog 

#custom step
main.i: main.tmp
    ./my_script.py main.tmp > main.i

#only preprocessor step
main.tmp: main.c main.h
    gcc -E main.c > main.tmp

如何使用 cmake 实现这一点?该步骤应应用于项目的每个 c 或 cpp 文件。

【问题讨论】:

  • 只需遍历源文件列表并使用add_custom_command 添加custom 步骤。至于 preprocessor 步骤,您需要 手动 实现它(使用add_custom_command):CMake 没有预定义的运行预处理器命令。 编译步骤可由add_executable执行。

标签: c++ c makefile cmake


【解决方案1】:

确实,这必须手动完成: 我在生成预处理文件的地方添加了一个自定义目标:

    add_custom_target(
    start_preprocessor 
    COMMAND make main.cpp.i 
    ..
    )

使用另一个自定义目标,我备份了 main.cpp,然后将 main.cpp.i 重命名为 main.cpp。然后我可以应用我的预处理过程。之后,我恢复源文件。

【讨论】:

    猜你喜欢
    • 2012-02-22
    • 2020-07-07
    • 1970-01-01
    • 2021-07-05
    • 1970-01-01
    • 1970-01-01
    • 2013-11-26
    • 1970-01-01
    • 2011-04-10
    相关资源
    最近更新 更多