如何防止Cmake在可执行文件\输出\路径下创建调试/发布文件夹?

如何防止Cmake在可执行文件\输出\路径下创建调试/发布文件夹?,cmake,Cmake,我将EXECUTABLE\u OUTPUT\u PATH设置为${CMAKE\u BINARY\u DIR}/bin,但可执行文件是在${CMAKE\u BINARY\u DIR}/bin/Debug或${CMAKE\u BINARY\u DIR}/bin/Release中创建的 如何使它在没有调试/发布文件夹的情况下将所有输出放在${CMAKE\u BINARY\u DIR}/bin下?我假设您使用的是Visual Studio或XCode。因此,您可能希望改为设置: 要在其中生成运行时目标文

我将
EXECUTABLE\u OUTPUT\u PATH
设置为
${CMAKE\u BINARY\u DIR}/bin
,但可执行文件是在
${CMAKE\u BINARY\u DIR}/bin/Debug
${CMAKE\u BINARY\u DIR}/bin/Release
中创建的


如何使它在没有调试/发布文件夹的情况下将所有输出放在
${CMAKE\u BINARY\u DIR}/bin
下?

我假设您使用的是Visual Studio或XCode。因此,您可能希望改为设置:

要在其中生成运行时目标文件的输出目录

此属性指定运行时目标文件应生成到的目录。属性值可以使用生成器表达式。除非使用生成器表达式,否则多配置生成器(VS,Xcode)会将每个配置子目录追加到指定目录

如果在创建目标时设置了变量CMAKE_RUNTIME_OUTPUT_DIRECTORY,则该属性由该变量的值初始化

另请参见运行时输出目录目标属性

将变量设置为将用于调试生成的“原样””的目录。同样,对于发布版本,使用变量CMAKE_RUNTIME_OUTPUT_DIRECTORY_Release


虽然您可以将这两个变量设置为相同的值,但请注意,为发布版本创建的可执行文件将覆盖调试版本的可执行文件,这在CMake中并不常见。

CMake\u RUNTIME\u OUTPUT\u DIRECTORY\u release所有字母必须大写,我写的是CMAKE_运行时_输出_目录_发布版,但它不起作用。我真傻