CMake:生成调用 cl.exe 的批处理文件

Posted

技术标签:

【中文标题】CMake:生成调用 cl.exe 的批处理文件【英文标题】:CMake: Generating batch file calling cl.exe 【发布时间】:2017-06-23 11:22:46 【问题描述】:

CMake 是一个构建系统生成器,支持不同的构建系统和环境,如 make、visual studio、代码块、eclipse-cdt 等... 要生成项目,可以使用 -G 选项指定项目生成器。

是否有一个选项,是否有任何项目,或者是否可以编写一个 generator 来创建调用 cl.exe 的批处理文件,这样我就不必每次都打开visual studio?

【问题讨论】:

如果您从构建目录中的命令行调用 cmake --build . --target ALL_BUILD --config Debug,则不必打开 Visual Studio。相反,该解决方案是从 MSBuild 构建的。 @vre thx 为例! 对于较新版本的 CMake,您可能需要考虑在 project() 命令之前调用 set(CMAKE_MAKE_PROGRAM "$CMAKE_VS_DEVENV_COMMAND" CACHE INTERNAL "")(另请参阅 here)。对于 Visual Studio 生成器的 --build 命令,这将使用 DevEnv 而不是 MSBuild 【参考方案1】:

CMake 能够使用 --build 选项自行调用构建工具(在本例中为 MSBuild)。详情请见this question。

【讨论】:

以上是关于CMake:生成调用 cl.exe 的批处理文件的主要内容,如果未能解决你的问题,请参考以下文章

为啥 cl.exe(Visual Studio 编译器)无法使用 CMake(错误报告)编译项目?

区分 cl.exe 生成的 32 位和 64 位 PE 对象文件(Visual Studio C++)

如何在 azure app 服务中使用 cl.exe 编译 c++ 代码并生成可执行文件

windows系统中的c/c++设计——cl与link的进阶(生成静态库并调用)

Clang如何处理MSVC的编译参数

使用 cl.exe 为多个架构生成数据