【发布时间】:2015-01-18 12:30:02
【问题描述】:
当我执行“bii cpp:build”时,我希望bii首先构建块B,然后它必须使用一些参数调用块B生成的二进制文件,当二进制文件完成时,bii应该继续构建块A. 我不希望块 A #include 块 B 中的任何内容。本质上我想在块 A 的构建过程中在 cmake add_custom_command 中使用块 B 的输出。如何实现?
【问题讨论】:
-
第一个问题:二进制B源代码的输出是biicode应该在块A中处理的吗?或者您会使用自定义命令管理自己吗?您还应该考虑到,如果 B 在“deps”中,它通常只检索依赖的东西(#includes)。可能最好的方法是将二进制创建和执行包装在 B 处的 .cmake 文件中,然后在您的 A 块 CMakeLists.txt 中包含()这样的 .cmake。您能否详细说明此类二进制文件的用例,以及您如何假装“重用”它?
-
我喜欢你的建议@drodri,我会试一试。块 B 生成的二进制文件将是我打算用来为连续构建准备环境路径变量的工具。该工具将读取配置文件中的一些用户定义的设置,或者它会根据环境确定设置。例如,如果 ~/.emscripten 文件存在,那么它将读取它并根据其中的设置准备环境。我怀疑我应该寻找一种纯粹的 CMake 方法。块 B 二进制文件的其他用途,可能是从 markdown 和类似任务生成 html。
-
@drodri,二进制B的输出目前不是源代码,但它可能会生成代码块A在未来某个时候使用。