You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CMake中实现仅Visual Studio Debug配置触发add_custom_command

实现方案

有两种常用的可实现需求的写法:

方法1:使用CONFIGURATIONS参数(更直观)

直接在add_custom_command中添加CONFIGURATIONS Debug配置项,仅会在Debug模式构建时触发执行:

add_custom_command(TARGET ProjectName POST_BUILD
    COMMAND ${CMAKE_COMMAND} -E copy_directory "SRC" "DEST"
    CONFIGURATIONS Debug
    COMMENT "My Custom message"
)

这个参数对Visual Studio这类多配置生成器原生适配,不需要额外处理其他配置的兼容逻辑。

方法2:使用生成器表达式(更灵活)

如果需要更复杂的条件组合,可以用CMake生成器表达式包裹执行命令:

add_custom_command(TARGET ProjectName POST_BUILD
    COMMAND $<$<CONFIG:Debug>:${CMAKE_COMMAND} -E copy_directory "SRC" "DEST">
    COMMENT "My Custom message"
)

注意事项

  • 代码中的SRC、DEST请替换为实际的源目录、目标目录路径,路径包含特殊字符或空格时需保留引号包裹
  • 两种写法对单配置生成器(比如Makefile)同样生效,会根据构建时指定的CMAKE_BUILD_TYPE判断是否执行命令

内容的提问来源于stack exchange,提问作者Anant Gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 06:57:02