【问题标题】:CMake set different Debug and Release working directories in Visual StudioCMake 在 Visual Studio 中设置不同的 Debug 和 Release 工作目录
【发布时间】:2017-09-09 19:54:38
【问题描述】:

是否可以在 CMake 生成的 Visual Studio 项目中为 DebugRelease 构建设置不同的工作目录 (VS_DEBUGGER_WORKING_DIRECTORY)?

如果我写

set_target_properties(${PROJECT_BIN} PROPERTIES 
    VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/Debug")

选择项目属性>调试>工作目录将显示

C:/Users/Alexandru/Documents/MyProject/Build/Debug

对于DebugRelease 配置,但我想要

C:/Users/Alexandru/Documents/MyProject/Build/Release

对于Release 配置。

我也尝试设置VS_DEBUGGER_WORKING_DIRECTORY_DEBUGVS_DEBUGGER_WORKING_DIRECTORY_RELEASE,但似乎这些属性不存在。

【问题讨论】:

    标签: cmake


    【解决方案1】:

    如果没有特定于配置的属性和生成器表达式,如 $<CONFIG> 不起作用(用 VS_DEBUGGER_WORKING_DIRECTORY 测试无济于事),您仍然可以使用 VS 变量:

    set_target_properties(${PROJECT_BIN} PROPERTIES 
        VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/$(Configuration)")
    

    【讨论】:

    • 我可以把它放在哪里以便它工作。我把它放在 CMake.txt 文件的开头(在 project(name)... 之后),但它不起作用。
    • @123iamking 上述命令更改库或可执行目标的属性。要知道有问题的目标,它必须在定义目标后进入您的CMakeLists.txt。 CMake 不支持目标属性的前向声明。有时有可用的全局变量定义任何即将到来的目标的默认值,但不是这种特殊情况。
    • 你能做一个简单的 CMake 来制作一个在 bin 文件夹中有工作目录的项目吗? :) 我对 CMake 还很陌生。非常感谢。
    猜你喜欢
    • 2022-08-04
    • 2013-03-24
    • 2017-06-11
    • 1970-01-01
    • 1970-01-01
    • 2018-04-20
    • 1970-01-01
    • 2020-03-06
    • 2015-06-14
    相关资源
    最近更新 更多