如何通过CMake为Visual Studio配置POST BUILD EVENT、调试命令及参数
实现Post-Build文件复制事件
你可以直接使用下面的完整add_custom_command配置,无需手动拼接Visual Studio内置宏:
add_custom_command( TARGET vibe_mdl POST_BUILD # 用CMake内置的copy指令自动处理路径转义和兼容性 COMMAND ${CMAKE_COMMAND} -E copy # CMake生成器表达式,自动对应目标的输出完整路径,等价于你写的$(OutDir)$(TargetName)$(TargetExt) $<TARGET_FILE:vibe_mdl> # 读取SDK_PATH环境变量,如果你是在CMake中自定义的SDK_PATH变量,改成${SDK_PATH}即可 $ENV{SDK_PATH}/bin/exmp.dll COMMENT "Post build: Copy target to SDK bin directory" )
如果你坚持要用原生的Windows copy命令和Visual Studio宏,也可以写成下面的形式,注意路径的引号处理避免空格问题:
add_custom_command( TARGET vibe_mdl POST_BUILD COMMAND copy "$(OutDir)$(TargetName)$(TargetExt)" "$(SDK_PATH)\\bin\\exmp.dll" )
配置Visual Studio调试属性
针对你需要设置的调试命令和参数,直接给目标设置对应的VS专属属性即可,CMake 3.12及以上版本均支持:
set_target_properties(vibe_mdl PROPERTIES # 设置调试命令 VS_DEBUGGER_COMMAND "$ENV{SDK_PATH}/bin/bl_sim5.exe" # 设置调试命令参数 VS_DEBUGGER_COMMAND_ARGUMENTS "-o" )
配置生成完成后打开Visual Studio项目,就可以直接在配置属性的调试页面看到自动填充好的对应值,无需手动修改。
内容的提问来源于stack exchange,提问作者user1466502
相关产品推荐
相关产品推荐

