相关疑难解决方法(0)

如何确定ARM,MIPS和IA32等平台?

我们的东西是横向的CmakeFileList.txt file.它试图在ARM平台上构建IA32组件.我正在努力解决这个问题.

有问题的文件是从GLOB过滤掉的,其名称为rdrand.cpp:

list(REMOVE_ITEM cryptopp_SOURCES
        ...
        ${CMAKE_CURRENT_SOURCE_DIR}/rdrand.cpp
        ...
        ${cryptopp_SOURCES_TEST}
        )
set(cryptopp_SOURCES
Run Code Online (Sandbox Code Playgroud)

现在我想重新加入rdrand,cppIA32平台.据与CMake的,锵和忍者在Windows上构建C++项目(不般配,但它有一些有用的信息)和CMakePlatformId.h.in,它看起来像我需要使用一个谓词ARCHITECTURE_ID"X86","X32","X64"或者"x64"(不是DUP时, x是小写而不是大写).

这是我尝试创建谓词:

# http://github.com/weidai11/cryptopp/issues/419
if (${ARCHITECTURE_ID} == "X86" OR ${ARCHITECTURE_ID} == "X32" OR ${ARCHITECTURE_ID} == "X64" )
    list(APPEND cryptopp_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/rdrand.cpp)
endif()
Run Code Online (Sandbox Code Playgroud)

以下结果来自BeagleBoard和Cmake 3.5.2.无论是==,=,STREQUAL似乎工作:

CMake Error at CMakeLists.txt:310 (if):
  if given arguments:

    "==" "X86" "OR" "==" "X32" "OR" "==" "X64"

  Unknown arguments specified …
Run Code Online (Sandbox Code Playgroud)

x86 platform cmake

5
推荐指数
1
解决办法
1025
查看次数

标签 统计

cmake ×1

platform ×1

x86 ×1