C++ 如何在CMake中更改Win32生成的可执行输出目录?
我的问题是: 我正在使用VisualStudio2010开发一个小型解析器。 我使用CMake作为构建配置工具 但我发现默认的可执行构建行为不方便。 我想要的是,让我的最终课程位于:C++ 如何在CMake中更改Win32生成的可执行输出目录?,c++,visual-studio,cmake,C++,Visual Studio,Cmake,我的问题是: 我正在使用VisualStudio2010开发一个小型解析器。 我使用CMake作为构建配置工具 但我发现默认的可执行构建行为不方便。 我想要的是,让我的最终课程位于: E:/parsec/bin/<exe-name>.<build-type>.exe E:/parsec/bin/.exe 而不是 E:/parsec/bin/<build-type>/<exe-name>.exe E:/parsec/bin/.exe 您将如何
E:/parsec/bin/<exe-name>.<build-type>.exe
E:/parsec/bin/.exe
而不是
E:/parsec/bin/<build-type>/<exe-name>.exe
E:/parsec/bin/.exe
您将如何使用CMake实现这一点?您可能需要使用一个单独的自定义命令来复制二进制文件,该命令与下面的命令类似:
add_custom_command(target your_target_name
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${EXAMPLE_BIN_NAME} ${PROJECT_BINARY_DIR}/.
)
有几种选择:
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib )
其他信息:看看这些问题:
设置目标属性
无疑是一条路要走;set_属性很容易被缓存中包含的另一个项目覆盖。
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib )