将 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中文网其他相关文章!