如何将 CMake 输出重定向到特定目录?
您的项目结构包括在单独目录中编译的插件。虽然 CMake 成功编译这些插件,但您面临着在源目录结构之外定位二进制文件和动态库的挑战。本文旨在指导您配置 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 会将编译后的工件放置在相对于构建目录 (CMAKE_BINARY_DIR) 的指定目录中。
或者,您可以在每个目标上设置输出目录基础:
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)的输出目录。通过适当配置 CMake,您可以有效管理项目的编译输出,确保二进制文件和插件组织在所需的目录结构中。
以上是如何将 CMake 构建输出重定向到自定义目录?的详细内容。更多信息请关注PHP中文网其他相关文章!