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

简介: 本文简单总结了使用 cmake 生成 visual studio 工程文件的过程

前言

很多开源库都是使用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

参考资料

相关文章
|
6月前
|
自然语言处理
CMake基础(3)静态库
CMake基础(3)静态库
77 1
|
3月前
CMake自动打包--Qt项目
CMake自动打包--Qt项目
55 0
|
5月前
Clion-2023.1.4配置CMake-3.25.3
Clion-2023.1.4配置CMake-3.25.3
|
6月前
|
测试技术
使用CLion创建Cmake项目,使用GoogleTest和GoogleMock对代码进行测试
使用CLion创建Cmake项目,使用GoogleTest和GoogleMock对代码进行测试
150 3
|
6月前
|
编译器 测试技术 C语言
vscode+CMakeLists+mingw配置Opencv4.5.5
vscode+CMakeLists+mingw配置Opencv4.5.5
385 0
|
C++
CMake教程8:在Vscode中使用CMake
CMake教程8:在Vscode中使用CMake
788 0
|
编译器
[√]cmake 编译选项
[√]cmake 编译选项
71 0
|
编译器 Linux C++
QT的cmake项目工程配置
QT的cmake项目工程配置
|
Shell C语言 C++
MSYS2编译C/C++程序
MSYS2编译C/C++程序
818 0
|
编译器 C语言 C++
用msys2与msvc编译FFmpeg
本文讲解如何使用 msys2 + msvc 来编译 FFmpeg ,msys2 的安装请看 《MSYS2介绍》。
313 0