第13章 选择生成器和交叉编译
本章主要内容有:
- 使用Visual Studio 2017构建CMake项目
- 交叉编译hello world示例
- 使用OpenMP并行化交叉编译Windows二进制文件
CMake本身不构建可执行程序和库。不过,CMake配置一个项目,并生成构建工具或框架用于构建项目的文件。在GNU/Linux和macOS上,CMake通常生成Unix Makefile(也存在替代方式)。在Windows上,通常生成Visual Studio项目文件或MinGW或MSYS Makefile。CMake包括本地构建工具或集成开发环境(IDE)的生成器。可以通过以下链接阅读更多关于它们的信息:https://cmake.org/cmake/help/latest/manual/cmake-generators.7.html
可以使用cmake -G
的方式来选择生成器:
$ cmake -G "Visual Studio 15 2017"
不是每个平台上所有的生成器都可用,而且CMake在运行时获取平台信息。要查看当前平台上所有可用生成器的列表,请键入以下命令:
$ cmake -G
本章中,我们不会使用所有生成器,但是本书中的大多数示例都使用了Unix Makefile、MSYS Makefile、Ninja和Visual Studio 15 2017进行了测试。
我们将重点讨论Windows平台上的开发,将演示不使用命令行,如何使用Visual Studio 15 2017直接构建CMake项目。还会讨论如何在Linux或macOS系统上,交叉编译Windows的可执行文件。