【问题标题】:cmake: difference between install(files,etc) and files(install,etc)cmake:安装(文件等)和文件(安装等)之间的区别
【发布时间】:2018-04-04 14:58:22
【问题描述】:

我正在学习cmake,对以下事情感到困惑:

我正在尝试将文件移动到特定位置,我是这样做的:

file(
      INSTALL file.txt DESTINATION ../install_dir
    )

这很好用。这将“file.txt”移动到指定的目的地。

然后我尝试这样:

install (
         FILES ./file.txt DESTINATION ./install_dir
        )

仅使用“安装”无法按预期工作。该文件未安装在该位置。有人可以向我解释一下区别吗?为什么它在第一种情况下有效,但仅在使用 install 命令时无效?谢谢。

【问题讨论】:

  • 您希望在配置时(当 CMake 运行并解析您的 CMakeLists.txt 文件时)复制文件,还是在安装时 (当运行make install 或等效时)?
  • 这就是区别:D ty

标签: cmake


【解决方案1】:

这两个命令做不同的事情。 install(FILES fil DESTINATION dest) 指示 CMake 生成构建规则,以便在运行安装步骤时将文件 fil 复制到 destmake install 或等效项)。

file(INSTALL ...) 在配置时立即评估,而 CMake 正在解析 CMakeLists.txt 文件。请注意,此签名主要用于 CMake 的上述安装步骤的内部实现:它打印以安装为主题的状态消息等。如果您只想在配置时复制文件,您可能更喜欢 file(COPY) 或 @987654330 @。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-03
    • 1970-01-01
    • 2020-08-21
    • 1970-01-01
    相关资源
    最近更新 更多