【问题标题】:Detect x86 architecture in CMake file在 CMake 文件中检测 x86 架构
【发布时间】:2014-10-30 15:28:35
【问题描述】:

是否有一种简单、可靠的方法可以在 CMake 文件中检测 CMake 正在构建的系统是否基于 x86 指令集(无论位数)?

【问题讨论】:

  • 我不相信这是重复的。我已经对 StackOverflow 上的类似问题进行了广泛检查,但没有找到真正涵盖这种情况的问题:仅使用 CMake 检测 x86 指令集。我相信基于在CMAKE_SYSTEM_PROCESSOR 中搜索“x86”的解决方案会起作用,但我有兴趣听取其他人的意见和经验。
  • 好的,我同意。我会删除该评论。

标签: x86 cmake


【解决方案1】:

到目前为止,这是我的解决方案:

if (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86)|(X86)|(amd64)|(AMD64)")
    set (X86 TRUE)
else ()
    set (X86 FALSE)
endif ()

如果您知道或发现CMAKE_SYSTEM_PROCESSOR 不包含“x86”、“X86”、“amd64”或“AMD64”子字符串的 x86 系统,请填写正则表达式。

【讨论】:

  • CMAKE_SYSTEM_PROCESSOR 对于这么多处理器返回“未知”,它作为一般解决方案几乎没有用处。我很高兴它为你工作。令人惊讶的是,Cmake 作为构建系统的表现如此糟糕。
  • 它还返回主机架构(对我而言),而不是目标架构。
猜你喜欢
  • 2010-12-10
  • 1970-01-01
  • 2012-08-10
  • 2017-06-21
  • 1970-01-01
  • 2019-04-17
  • 1970-01-01
  • 1970-01-01
  • 2021-02-20
相关资源
最近更新 更多