首页 >后端开发 >C++ >CMake 如何将编译后的文件组织到单独的'bin”目录中?

CMake 如何将编译后的文件组织到单独的'bin”目录中?

Linda Hamilton
Linda Hamilton原创
2024-12-13 07:51:11267浏览

How Can CMake Organize Compiled Files into a Separate 'bin' Directory?

将 CMake 输出组织到单独的“bin”目录中

在处理使用插件架构的多模块项目时,通常需要这样做将编译后的文件与源代码分开。 CMake 是一个强大的构建系统生成器,可以配置为将编译后的文件输出到指定的“bin”目录。

要实现此目的,可以使用 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)

此配置指示 CMake 将存档和库保存在二进制目录中的“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"
)

通过使用任一方法,您都可以有效地将编译输出与源代码分离,确保项目结构更清晰、更有组织。

以上是CMake 如何将编译后的文件组织到单独的'bin”目录中?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn