【问题标题】:Cmake external ressource [duplicate]Cmake外部资源[重复]
【发布时间】:2016-08-02 14:24:19
【问题描述】:

您好,我开始使用 cmake,我非常喜欢它,我想知道是否有一个命令可以在构建过程中添加包含输入文件的现有文件夹。

想要的结构

project/
   src/
   ressources/someinputData

我不想将资源上的所有文件都复制到构建文件夹中。

【问题讨论】:

  • “在构建过程中添加”是什么意思?您的文件是否参与了构建过程(如果是,如何?)还是希望它们与您的目标一起安装?
  • 没有未编译的文件,只是一些输入数据来测试我的程序。

标签: c++ cmake


【解决方案1】:

在使用make install 或在可视化中构建INSTALL 项目时,您可以使用命令install 复制文件,根据您喜欢的工具:

install(
    FILES /path/to/your/file.s
    DESTINATION /where/you/want/to/copy
)

也有这个版本安装一整个目录,最终过滤文件扩展名:

install(
    DIRECTORY /path/to/your/directory/
    DESTINATION /where/you/want/to/copy
    FILES_MATCHING
    PATTERN *.txt  # only copy text files
)

【讨论】:

  • 过度使用的解决方案,因为我只是想在构建文件夹中复制(或链接)它们。但我会尝试这个解决方案。谢谢
  • 随意编辑你的问题,用一个更具体的例子来减少过度杀戮;)
  • is 方法确实解决了我的问题。谢谢
  • file 命令可能就是你想要的。文件( .. 在此处查看文档:cmake.org/cmake/help/v3.0/command/file.html
  • 嗨,谢谢,我认为这是最好的解决方案,我使用带有 GLOB 的文件命令来生成源文件,但我没想到会更通用。谢谢
猜你喜欢
  • 2017-06-17
  • 2022-12-09
  • 2018-02-26
  • 2020-07-12
  • 1970-01-01
  • 1970-01-01
  • 2019-12-20
  • 2023-03-16
  • 1970-01-01
相关资源
最近更新 更多