How to change the executable output directory for Win32 builds, in CMake?(如何在 CMake 中更改 Win32 版本的可执行输出目录?)
问题描述
我的问题是这样的:我正在使用 Visual Studio 2010 开发一个小型解析器.我使用 CMake 作为构建配置工具.
My problem is as such : I'm developing a small parser using Visual Studio 2010. I use CMake as a build configuration tool.
但我发现默认的可执行文件构建行为很不方便.我想要的是,让我的最终程序位于:
But I find the default executable building behaviour, inconvenient. What I want is, have my final program be located in :
E:/parsec/bin/<exe-name>.<build-type>.exe
而不是
E:/parsec/bin/<build-type>/<exe-name>.exe
你会如何使用 CMake 做到这一点?
How would you do that using CMake ?
推荐答案
有几个选项:
- 编译后复制可执行文件
- 为您的可执行文件自定义输出目录
编译后复制可执行文件
成功构建后,您可以复制可执行文件(请参阅初学者答案),但使用安装目标可能更好:
Copy the executable after building
After a succesful build you can copy the executable (see Beginners answer), but perhaps it is nicer to use an install target:
使用 install 命令指定将被复制到 CMAKE_INSTALL_PREFIX 目录.您可以在 cmake 的命令行(或在 cmake GUI 中)指定 CMAKE_INSTALL_PREFIX.
Use the install command to specify targets (executables, libraries, headers, etc.) which will be copied to the CMAKE_INSTALL_PREFIX directory. You can specify the CMAKE_INSTALL_PREFIX on the commandline of cmake (or in the cmake GUI).
警告:不建议直接在 cmakelists.txt 中设置绝对路径.
Warning: It is not advised to set absolute paths directly in your cmakelists.txt.
使用set_target_properties 自定义RUNTIME_OUTPUT_DIRECTORY
set_target_properties( yourexe PROPERTIES RUNTIME_OUTPUT_DIRECTORY E:/parsec/bin/ )
作为替代,修改CMAKE_RUNTIME_OUTPUT_DIRECTORY 允许您为 cmake 项目中的所有目标指定此项.注意您还要修改 CMAKE_LIBRARY_OUTPUT_DIRECTORY当您构建 dll 时.
As an alternative, modifying the CMAKE_RUNTIME_OUTPUT_DIRECTORY allows you to specify this for all targets in the cmake project. Take care that you modify the CMAKE_LIBRARY_OUTPUT_DIRECTORY as well when you build dlls.
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib )
附加信息:看看这些问题:
在 CMake 中,我如何解决 Visual Studio 2010 尝试添加的 Debug 和 Release 目录?
CMake:根据 CMake 生成的项目中的配置更改 Visual Studio 和 Xcode 可执行文件的名称
如何不添加 Release 或调试到输出路径?
这篇关于如何在 CMake 中更改 Win32 版本的可执行输出目录?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在 CMake 中更改 Win32 版本的可执行输出目录?
基础教程推荐
- 从 std::cin 读取密码 2021-01-01
- Windows Media Foundation 录制音频 2021-01-01
- 为 C/C++ 中的项目的 makefile 生成依赖项 2022-01-01
- 使用从字符串中提取的参数调用函数 2022-01-01
- 在 C++ 中循环遍历所有 Lua 全局变量 2021-01-01
- 如何在不破坏 vtbl 的情况下做相当于 memset(this, ...) 的操作? 2022-01-01
- 为什么语句不能出现在命名空间范围内? 2021-01-01
- 如何“在 Finder 中显示"或“在资源管理器中显 2021-01-01
- 管理共享内存应该分配多少内存?(助推) 2022-12-07
- 如何使图像调整大小以在 Qt 中缩放? 2021-01-01