cmake:安装(文件等)和文件(安装等)之间的区别

时间:2018-04-04 06:14:33

标签: cmake

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

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

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

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

然而我尝试过这样:

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

仅使用'install'不能按预期工作。该文件未安装在该位置。有人可以向我解释一下这个区别吗?为什么它在第一种情况下工作,而不是仅使用安装命令?谢谢。

1 个答案:

答案 0 :(得分:3)

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

在配置时立即评估

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