[原]Cmake生成指定vs版本的工程文件

前言

很多开源库都是使用makefile的形式组织的,如果我们不习惯使用命令行进行编译,我们可以使用cmake或者cmake-gui来生成工程文件,进而可以通过GUI的形式进行编译。本文主要总结了如何通过指定generator来生成想要的特定版本的工程文件。

查看帮助

我们可以使用cmake --help来查看帮助,如下图
cmake help

指定sourcebuild路径

命令行形式

我们下载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对应的选项如下图所示
cmake-gui source&build setting

选择generator

generator作用

cmake会根据默认的generator生成工程文件。e.g. 如果我们先装了vs2013,又装了vs2019,那么cmake很可能会使用vs2019相关的文件来生成工程文件。有时候这不是我们想要的,我们能不能让cmake生成vs2013的工程文件呢?答案是肯定的。在指定generator之前,我们需要知道有哪些generator

查看generator

我们可以通过cmake --help或者cmake -h来查看generator,如下图所示
list generator
我们还可以通过cmake -G来查看所有的generator,如下图所示
list 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 generator

cmake-gui演示

cmake-gui

参考资料

BianChengNan wechat
扫描左侧二维码关注公众号,扫描右侧二维码加我个人微信:)
0%