gpt4 book ai didi

c++ - 使用 CMake 制作后如何将目录的内容复制到构建目录中?

转载 作者:IT老高 更新时间:2023-10-28 12:14:16 24 4
gpt4 key购买 nike

我在源文件旁边的 config 目录中有一些配置文件(xml、ini、...)。每次制作项目时,如何将config目录中的所有文件复制到构建目录(可执行文件旁边)?

最佳答案

您可以使用 add_custom_command .

假设你的目标叫做 MyTarget ,那么你可以这样做:

add_custom_command(TARGET MyTarget PRE_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory
${CMAKE_SOURCE_DIR}/config/ $<TARGET_FILE_DIR:MyTarget>)

每次构建时都会执行 MyTarget并将“/config”的内容复制到目标exe/lib将结束的目录中。

作为 Mark Lakata在下面的评论中指出,替换 PRE_BUILDPOST_BUILDadd_custom_command确保只有在构建成功时才会进行复制。

说明

  • ${CMAKE_COMMAND}是 CMake 的路径
  • -E使 CMake 运行命令而不是构建
  • copy_directoryCommand-Line Tool
  • config是将其内容复制到构建目标的目录(位于项目的根目录下)
  • $<TARGET_FILE_DIR:MyTarget>是一个生成器表达式,在add_custom_command 中描述文档。

关于c++ - 使用 CMake 制作后如何将目录的内容复制到构建目录中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13429656/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com