前言
很多开源库都是使用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 Win64
cmake -S . -B ./build
界面形式
cmake-gui
对应的选项如下图所示
cmake-gui演示
参考资料
camke
帮助命令行cmake
帮助文档