首页 > 后端开发 > C++ > 如何将 CMake 构建输出重定向到单独的'bin”目录?

如何将 CMake 构建输出重定向到单独的'bin”目录?

Susan Sarandon
发布: 2024-12-15 14:35:15
原创
171 人浏览过

How Can I Redirect CMake Build Outputs to a Separate 'bin' Directory?

将 CMake 构建输出重定向到“bin”目录

使用 CMake 使用插件构建项目时,编译的二进制文件和库通常是分散的在源目录结构中。为了组织这些文件,有必要将 CMake 的输出定向到单独的目录,例如“./bin”。

解决方案在于设置适当的 CMake 变量来指定所需的输出路径。按照 Oleg 的建议,要修改的正确变量是 CMAKE_RUNTIME_OUTPUT_DIRECTORY。

在根 CMakeLists.txt 文件中,您可以指定输出目录,如下所示:

set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
登录后复制

这将设置输出目录将存档、库和运行时二进制文件保存到二进制文件中的“lib”子目录和“bin”子目录

或者,您可以使用 set_target_properties 命令在每个目标的基础上指定输出目录:

set_target_properties(targets...
    PROPERTIES
    ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
    LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
    RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
)
登录后复制

此方法允许您为不同的目标指定不同的输出目录,提供对构建过程进行更细粒度的控制。

在这两种情况下,您都可以将 '_[CONFIG]' 附加到变量或属性名称来设置特定配置的输出目录。标准配置值为 DEBUG、RELEASE、MINSIZEREL 和 RELWITHDEBINFO。

以上是如何将 CMake 构建输出重定向到单独的'bin”目录?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板