如何在CMake中更改Win32版本的可执行输出目录?

Tak*_*rel 13 c++ cmake visual-studio

我的问题是这样的:我正在使用Visual Studio 2010开发一个小解析器.我使用CMake作为构建配置工具.

但我发现默认的可执行构建行为,不方便.我想要的是,让我的最终计划位于:

E:/parsec/bin/<exe-name>.<build-type>.exe
Run Code Online (Sandbox Code Playgroud)

而不是

E:/parsec/bin/<build-type>/<exe-name>.exe
Run Code Online (Sandbox Code Playgroud)

你会怎么用CMake做到这一点?

And*_*dré 22

有几种选择:

  1. 构建后复制可执行文件
  2. 自定义可执行文件的输出目录

构建后复制可执行文件

成功构建后,您可以复制可执行文件(请参阅初学者答案),但使用安装目标可能更好:

使用install命令指定将复制到CMAKE_INSTALL_PREFIX目录的目标(可执行文件,库,标题等).您可以在cmake的命令行上(或在cmake GUI中)指定CMAKE_INSTALL_PREFIX.

自定义可执行文件的输出目录

警告:建议不要直接在cmakelists.txt中设置绝对路径.

使用set_target_properties定制RUNTIME_OUTPUT_DIRECTORY

set_target_properties( yourexe PROPERTIES RUNTIME_OUTPUT_DIRECTORY E:/parsec/bin/ )
Run Code Online (Sandbox Code Playgroud)

作为替代方法,修改CMAKE_RUNTIME_OUTPUT_DIRECTORY允许您为cmake项目中的所有目标指定此项.在构建dll时,请注意修改CMAKE_LIBRARY_OUTPUT_DIRECTORY.

set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib )
Run Code Online (Sandbox Code Playgroud)

其他信息:看看这些问题:


归档时间:

查看次数:

23217 次

最近记录:

13 年,2 月 前