【问题标题】:CMake multiple toolchains and target platformsCMake 多个工具链和目标平台
【发布时间】:2011-04-08 07:53:32
【问题描述】:

我正在从普通 make 更改为 CMake 作为项目的构建系统。该项目应该在不同的嵌入式 Linux 系统上运行,每个系统都有自己的工具链,并且每个目标也有很多不同的配置选项(例如不同的预处理器定义和包含/排除的一些源)。它也应该可以在桌面 Linux 上运行,并且一些 GUI 模块必须在 Windows 上运行。

现在,CMake 有其 CMAKE_TOOLCHAIN_FILE 选项,可用于分解每个嵌入式平台的工具链和编译器特定内容(桌面 Linux 和 Windows 应该不需要)。

我想把CMake Wiki 中列出的东西以外的东西放在工具链文件中并不是一个好主意。

我正在考虑创建一些可以通过 cmake gui 工具编辑的 CMake 变量,然后简单地使用 if/elseif 来确定正确的设置。

有没有人有更好或更优雅的建议?

【问题讨论】:

    标签: c cross-platform makefile cmake multiplatform


    【解决方案1】:

    我认为我可以简单地拥有而不是使用长 if/elseif/else

    include(flags-${CONFIGURATION_NAME}.cmake)
    

    在我的 CMakeLists.txt 中,每个配置的特定标志将简单地列在适当的标志文件中。

    【讨论】:

      猜你喜欢
      • 2016-12-11
      • 1970-01-01
      • 1970-01-01
      • 2013-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多