【发布时间】:2017-02-28 10:55:04
【问题描述】:
有没有办法配置 CMake,使得单个 make 命令将启动主机和目标构建?我有一个旨在在目标平台上运行的项目,但需要从需要在主机平台(PC)上运行的generator 生成的一些数据。从 CMake 的文档和环顾四周,我需要一个 2 遍构建 - 第一个主机创建生成器,然后是目标交叉编译构建。我的问题具体是如何通过 CMake 配置使用单个 make 命令启动 2-pass 构建(不使用外部 bash 或 python 脚本)。
我知道的事情
- CMake 不允许在单个构建中更改工具链
- 几乎像这样的解决方案:How to instruct CMake to use the build architecture compiler? 这很好,只是我需要跳过使用外部脚本的第二步
- 如何区分交叉编译期间运行的内容cmake - compile natively and crosscompile the same code
- 据说可以使用 CMake How to make CMake targeting multiple plattforms in a single build 启动多个 CMake 构建
【问题讨论】:
-
你可以随时使用 CMake 和
make来做任何你想做的事情。我只是质疑是否值得付出努力,以及是否有人查看您的解决方案仍然能够理解内部运作和/或发现可能的问题。例如,想想stdout/stderr在您总是进行交叉编译的可能场景之一中的输出,并在内部通过add_custom_command()调用再次调用cmake进行主机构建。
标签: cmake cross-compiling