2

我在我的 cmake 项目中使用生成的文件。我有一个从某些输入生成源代码的脚本,如果给定不同的命令行参数,相同的脚本也可以验证输入,如下所示:

generate_code.py --generate

generate_code.py --validate

如果输入无效,该--validate模式将打印错误stdout,我希望这些错误可见。我当前的设置是--validate在 inexecute_process和 with --generatein 中运行add_custom_command。这有效,但不会--validate在输入更改时从模式打印用户友好的错误消息,因为execute_process不会再次运行。

显示这些错误的最佳方法是什么?如果我可以强制execute_process始终运行,那将起作用,或者如果我可以捕获stdout失败--generate并显示出来,我可以修改--generate选项以打印友好的错误消息,然后显示它们。我怎样才能做到其中一项或两项?

4

1 回答 1

0

只要您传递参数,每次执行构建时都会重新运行add_custom_target 语句中的命令。ALL这可能是您正在寻找的。

或者,您可以将输入设置generate_code.py为自定义命令的依赖项(如果还没有的话),并让自定义命令generate_code.py --validategenerate_code.py --generate. 这样,它会在需要重建时重新验证,而不是在任何其他时间。

于 2017-03-31T05:55:30.763 回答