我有一个多平台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
标志。问题是,由于某种原因,您需要从VisualStudio的GUI进行构建。
CMake目前无法更改GUI的选定配置。
主要原因是这些信息存储在Visual Studio生成的.suo
文件中。CMake本身只生成项目和解决方案文件,而.suo
文件将由Visual Studio本身生成。
或者,使用CMake的命令行构建选项。像往常一样配置项目并从CMake生成VS.sln
文件后,只需运行:
cmake --build <path_to_build_directory> --config Release
这与选定的发电机无关,是构建CMake项目的最可靠方式。