检测CMake文件中的x86体系结构

检测CMake文件中的x86体系结构,x86,cmake,X86,Cmake,是否有一种简单、可靠的方法可以在CMake文件中检测系统CMake正在构建的基于x86指令集的CMake(不考虑位)?到目前为止,我的解决方案如下: if (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86)|(X86)|(amd64)|(AMD64)") set (X86 TRUE) else () set (X86 FALSE) endif () 如果您知道或发现x86系统的CMAKE\u SYSTEM\u处理器不包含“x86”、“x86”、“amd

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

到目前为止,我的解决方案如下:

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

如果您知道或发现x86系统的
CMAKE\u SYSTEM\u处理器
不包含“x86”、“x86”、“amd64”或“amd64”子字符串,请填写正则表达式。

我不相信这是重复的。我已经对StackOverflow上的类似问题进行了广泛的检查,但还没有找到一个真正涵盖这种情况的问题:仅使用CMake检测x86指令集。我相信一个基于在
CMAKE\u SYSTEM\u处理器
中搜索“x86”的解决方案会奏效,但我很想听听其他人的意见和经验。好的,我同意。我将删除该注释。target:
CMAKE\u SYSTEM\u处理器
对于如此多的处理器返回“unknown”(未知),作为一般解决方案,它基本上是无用的。我很高兴它对你有用。令人惊讶的是,Cmake作为构建系统的表现是多么糟糕。