使用自定义的 toolchain 文件进行配置: CMAKE_TOOLCHAIN_FILE
cmake -DCMAKE_TOOLCHAIN_FILE=/path/to/toolchain.cmake
跨平台编译需要指定 sysroot
的位置,编译器和链接器才能正确找到 include
和 lib
。
和 sysroot
配置相关的有三个变量:
CMAKE_SYSROOT
除了传递 --sysroot
标志给编译器外,还会影响 find_*
命令的查找路径。
CMAKE_SYSROOT_COMPILE
和 CMAKE_SYSROOT_LINK
的作用和 CMAKE_SYSROOT
一样,但是只用于编译和链接而没有其他的副影响。
对于 Apple 平台:
用于指定 -isysroot
的路径,而且应该设置为 CACHE
:
指定在目标平台上使用的 API 版本,用于设置 ${platform}-version-min
的值,${platform}
的值由 CMAKE_OSX_SYSROOT
来确定,而且应该设置为 CACHE
:
指定生成的目标代码架构,接受数组类型,比如 x86_64;arm64
:
CMake 3.19.2 新增了一个用于 Apple Silicon 平台的变量:
Triple: Arch
-SubArch
-Vendor
-OS
-Environment
-ObjectFormat