CMake:指定构建工具链

Wil*_*ill 22 build-automation makefile cmake cross-compiling

对CMake来说很新,到目前为止我发现它非常有帮助.我有一组自定义库,我想使用交叉编译为多个平台构建.安装了工具链,我可以手工创建Makefile我需要的工具链,但我希望能够使用CMake.

有没有办法告诉cmake使用哪个工具链,无论是在命令行还是在CMakeLists.txt文件中?

Jac*_*lly 32

看看这里:基本上,你定义了一个"工具链文件",它设置了系统名称,编译器路径等等.然后你这样打电话cmake:

cmake /path/to/src -DCMAKE_TOOLCHAIN_FILE=/path/to/toolchain/foo-bar-baz.cmake
Run Code Online (Sandbox Code Playgroud)

  • 有什么方法可以配置cmake使用项目配置文件中的特定工具链文件(即,避免在每次我需要配置构建时指定`-DCMAKE_TOOLCHAIN_FILE`吗?) (4认同)
  • 目前我正在建立一个项目,该项目将专门使用 Emscripten SDK 开发。有没有办法在 CMakeLists.txt 文件中指定工具链文件? (3认同)
  • 与CMake开箱即用选项相对应的工具链文件在哪里? (3认同)
  • @cardiffspaceman 是正确的。清理项目为我解决了这个问题。我还必须这样做:`set(CMAKE_TOOLCHAIN_FILE $ENV{CMAKE_TOOLCHAIN_FILE})` (3认同)