使用自定义的 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
