我正在尝试为Linux编译(使用Generator Eclipse CDT4 - Ninja)但是当我正在检查${CMAKE_SYSTEM_NAME}
时CMakeLists.txt
,我得到的只是空白.
在哪些情况下使用此变量有效?
使用Debian Testing的cmake 3.02.
小智 10
您需要在项目命令后放置CMAKE_SYSTEM_NAME:
message("CMAKE_SYSTEM_NAME: ${CMAKE_SYSTEM_NAME}")
project(Foo)
message("CMAKE_SYSTEM_NAME: ${CMAKE_SYSTEM_NAME}")
Run Code Online (Sandbox Code Playgroud)
结果:
CMAKE_SYSTEM_NAME:
-- The C compiler identification is GNU 4.9.1
...
-- Detecting CXX compiler ABI info - done
CMAKE_SYSTEM_NAME: Linux
Run Code Online (Sandbox Code Playgroud)
我也有同样的问题,正在解决。
我想做的就是在 Linux 服务器上使用 进行交叉编译aarch64-himix100-linux
,并在 Darwin 系统上使用默认工具链进行编译。
我使用CMAKE_HOST_SYSTEM_NAME而不是CMAKE_SYSTEM_NAME。
的值CMAKE_HOST_SYSTEM_NAME
等于 的输出uname -s
。
例如,
cmake_minimum_required(VERSION 3.8)
if (NOT ${CMAKE_HOST_SYSTEM_NAME} MATCHES "Darwin")
set(CMAKE_TOOLCHAIN_FILE "${CMAKE_SOURCE_DIR}/Toolchain-aarch64-himix100-linux.cmake")
endif ()
project(phoenix)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4225 次 |
最近记录: |