首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将CMake输出转换为'bin‘目录?

如何将CMake输出转换为'bin‘目录?
EN

Stack Overflow用户
提问于 2011-07-06 18:16:30
回答 8查看 231.6K关注 0票数 234

我目前正在构建一个具有插件结构的项目。我正在使用CMake编译这个项目。插件被编译在不同的目录中。我的问题是CMake编译并将二进制文件和插件、动态库保存在源代码的目录结构中。如何让CMake将文件保存在./bin目录中?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-07-06 18:33:41

正如奥列格的答案一样,我认为要设置的正确变量是CMAKE_RUNTIME_OUTPUT_DIRECTORY。我们在根CMakeLists.txt中使用以下内容:

代码语言:javascript
运行
复制
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)

您还可以基于每个目标指定输出目录:

代码语言:javascript
运行
复制
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]附加到变量/属性名称,以使输出目录应用于特定配置(配置的标准值为DEBUGRELEASEMINSIZERELRELWITHDEBINFO)。

票数 364
EN

Stack Overflow用户

发布于 2011-07-06 18:29:56

使用set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "/some/full/path/to/bin")

票数 33
EN

Stack Overflow用户

发布于 2011-07-06 18:25:16

使用EXECUTABLE_OUTPUT_PATH CMake变量设置所需的路径。有关详细信息,请参阅在线CMake文档:

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6594796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档