使用CMake生成构建系统时选择MSVS构建配置

时间:2020-03-24 09:15:59

标签: visual-studio cmake

我有一个多平台的CMake项目,有时我不得不为Windows手动构建它。我生成了一个这样的构建系统:

cmake -DCMAKE_BUILD_TYPE=Release -G"Visual Studio 16 2019" -A x64 ../path/to/source

然后我打开*sln文件,然后按F7键进行构建。它运行了40分钟,此后,我了解到我没有在组合框中选择正确的配置。这很烦人!当命令行选项为-DCMAKE_BUILD_TYPE=Release,但组合框设置为Debug时,花费大量时间后构建失败。

是否可以通过命令行选择生成配置来生成MSVS项目?

请注意,我知道msbuild命令,它是-p:Configuration=xxxxx标志。问题是关于出于某些原因需要从Visual Studio的GUI进行构建的情况。

1 个答案:

答案 0 :(得分:1)

目前无法使用CMake更改GUI的选定配置。

主要原因是此信息存储在Visual Studio生成的.suo文件中。 CMake本身仅生成项目和解决方案文件,而.suo文件将由Visual Studio本身生成。

或者,为此使用CMake的command line build option。配置项目并照常从CMake生成VS .sln文件后,只需运行:

cmake --build <path_to_build_directory> --config Release

这与选定的生成器无关,并且是构建CMake项目的最可靠方法。