CMake Visual Studio'调试'文件夹

时间:2011-08-29 11:38:22

标签: visual-studio cmake

Visual Studio坚持认为,在使用CMake时,必须在bin / Debug /而不是bin /中创建可执行文件。 有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

是的,但不是很漂亮......

您需要更新目标所有上的RUNTIME_OUTPUT_DIRECTORYLIBRARY_OUTPUT_DIRECTORYARCHIVE_OUTPUT_DIRECTORY属性。您需要为每个配置(Debug,RelWithDebInfo等)执行此操作

最简单的方法是使用CMAKE _...等效项“全局”执行此操作。例如。检查以下示例,它将bin /和lib /设置为“全局”二进制文件/库输出目录:

# First for the generic no-config case (e.g. with mingw)
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib )
set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib )
# Second, for multi-config builds (e.g. msvc)
foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} )
    string( TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG )
    set( CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/bin )
    set( CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/lib )
    set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/lib )
endforeach( OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES )

或者,您可以尝试运行所有可用目标并在之后修改其属性...

请注意,这不会设置.pdb文件的位置。我还没有找到一种令人满意的方法将所有相关的.pdb文件放在bin /目录中。