【问题标题】:Provide multiple toolchain options in CMake在 CMake 中提供多种工具链选项
【发布时间】:2018-12-16 10:45:45
【问题描述】:

我有一个针对 ARM 平台的嵌入式项目,特别是 aarch64。

到目前为止,我一直在使用 Make。我最近设置了没有特别问题的 CMake。 我转向 CMake 是因为我觉得它是一种更现代的构建工具,可以进行更智能的配置。

例如,我可以使用不同的工具链(aarch64-elf-gcc-linaro、aarch64-linux-gnu-gcc、...)编译我的项目,并且我希望 CMake 尝试是否安装了这些工具链中的任何一个系统并使用默认先找到的那个。

这可能(或有意)吗?我希望这对于该工具来说是一个简单的壮举,但在搜索了一段时间后,我似乎找不到正确的轨道。

【问题讨论】:

    标签: cmake cross-compiling


    【解决方案1】:

    是的,您可以让您的 CMake 项目搜索安装在您的操作系统中的可用工具链,选择一个并编译您的项目。我还为 ARM 嵌入式项目编写了一个 CMake 程序,因为现在它可以在不同的 OS 系统 Windows 和 Unix 之间通用转移。在 Linux 上安装了 ARM ToolChain,在 Windows 上安装了 Keil-MDK。如果您有不同的工具链可供选择,您可以编写 CMake 脚本,该脚本将使用 find_path() 之类的命令查找路径,然后为所选编译器调用正确的“toolchianxx.cmake”脚本和正确的编译器标志。

    在您的特定问题中,只需使用 find_path 命令并使用命中在“预设”已知路径中查找已安装的编译器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-20
      • 2021-08-24
      • 1970-01-01
      • 2015-02-07
      • 1970-01-01
      • 1970-01-01
      • 2022-08-19
      相关资源
      最近更新 更多