我有一个cmake文件,它会根据平台设置一些环境变量。例如:UNIX,WINDOWS,
if(WIN32)
.....
endif(WIN32)
if(UNIX)
...
endif(UNIX)
现在我尝试交叉编译
QNX平台
中的
Linux机器
以下设置:
set(CMAKE_SYSTEM_NAME QNX)
set(arch gcc_ntox86v7le)
set(SUBARCH x86)
set(CMAKE_C_COMPILER qcc)
set(CMAKE_C_COMPILER_TARGET ${arch})
set(CMAKE_CXX_COMPILER QCC)
set(CMAKE_CXX_COMPILER_TARGET ${arch})
我的问题是,当上面的代码添加到CMAKE文件时,总是会进行QNX交叉编译。
我尝试添加一些if(条件),以便上述设置仅适用于QNX交叉编译。但我找不到任何。
我试过
if(UNIX)
....
elseif
set(CMAKE_SYSTEM_NAME QNX)
set(arch gcc_ntox86v7le)
endif()
但这总是假定它是UNIX。