【问题标题】:How to build with CMake to both release config and verbose如何使用 CMake 构建以发布配置和详细信息
【发布时间】:2018-05-20 10:43:43
【问题描述】:

我正在尝试使用 CMake 构建并传递两个选项:config: Release 和 VERBOSE=ON:

cmake --build . --config Release -- VERBOSE=ON

在 Visual CMake 中我有开关:

cmake -G "Visual Studio 14 2015"
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON ^

如果我只通过 '--config Release' 就可以了。

现在这条消息失败了:

15:40:51 MSBUILD : error MSB1008: Only one project can be specified.
15:40:51 Switch: VERBOSE=1
15:40:51 
15:40:51 For switch syntax, type "MSBuild /help"

【问题讨论】:

    标签: cmake verbose


    【解决方案1】:

    VERBOSE=ON 无法被 MSBuild 识别。

    你可能知道 Unix Makefile 生成器的语法,例如设置。 VERBOSE 环境变量将为您提供详细的输出。请注意,这是生成器的功能(即make),而不是 CMake。因此,当切换到不同的生成器(在本例中为 MSBuild)时,您必须找到一种不同的方法来获取与该生成器一起使用的详细输出。

    对于 MSBuild,这将是 the /verbosity option。另见this answer for details

    至于CMAKE_VERBOSE_MAKEFILE 选项,手册明确指出该选项仅对 Makefile 生成器有效(重点由我添加):

    用户可以在他们的本地构建树中启用该选项以获得更多 来自 Makefile 构建的详细输出 并显示每个命令行 已启动。

    【讨论】:

    • 正如@bbv 在“this answer for details.”中所说,这显示了如何查看“msbuild product.sln /t:ALL_BUILD”的更多详细信息。在这种情况下,我对查找 msbuild 正在做什么不感兴趣。因此,cmake 本身需要详细程度。谢谢
    猜你喜欢
    • 1970-01-01
    • 2018-11-04
    • 1970-01-01
    • 2021-03-24
    • 2016-03-16
    • 1970-01-01
    • 2020-08-18
    • 2016-10-22
    • 1970-01-01
    相关资源
    最近更新 更多