前言
很多开源库都是使用makefile的形式组织的,如果我们不习惯使用命令行进行编译,我们可以使用cmake或者cmake-gui来生成工程文件,进而可以通过GUI的形式进行编译。本文主要总结了如何通过指定generator来生成想要的特定版本的工程文件。
查看帮助
我们可以使用cmake --help来查看帮助,如下图
指定source和build路径
命令行形式
我们下载makefile到本地后,可以cd到下载目录下包含CMakeLists.txt的子目录下,从而可以使用cmake .来生成工程文件。
根据帮助文档,我们也可以使用-S path-to-source来指定原文件路径,使用-B path-to-build来指定build路径。
注意:path-to-source指的是CMakeLists.txt所在的目录,如果对应的目录下没有该文件,会报如下错误CMake Error: The source directory "D:/working/mergepdf" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
界面形式
cmake-gui对应的选项如下图所示
选择generator
generator作用
cmake会根据默认的generator生成工程文件。e.g. 如果我们先装了vs2013,又装了vs2019,那么cmake很可能会使用vs2019相关的文件来生成工程文件。有时候这不是我们想要的,我们能不能让cmake生成vs2013的工程文件呢?答案是肯定的。在指定generator之前,我们需要知道有哪些generator。
查看generator
我们可以通过cmake --help或者cmake -h来查看generator,如下图所示
我们还可以通过cmake -G来查看所有的generator,如下图所示
说明:带*的是默认的generator
指定generator
我们可以使用以下方式来显示指定:
命令行形式
命令行形式
cmake -G "Visual Studio 12 2013 Win64" -S . -B ./build环境变量的形式
set CMAKE_GENERATOR=Visual Studio 12 2013 Win64cmake -S . -B ./build
界面形式
cmake-gui对应的选项如下图所示

cmake-gui演示

参考资料
camke帮助命令行cmake帮助文档