我正在学习 cmake,但对以下事情感到困惑:
我正在尝试将文件移动到特定位置,我是这样做的:
file(
INSTALL file.txt DESTINATION ../install_dir
)
Run Code Online (Sandbox Code Playgroud)
这工作得很好。这将“file.txt”移动到指定的目的地。
但是后来我尝试这样:
install (
FILES ./file.txt DESTINATION ./install_dir
)
Run Code Online (Sandbox Code Playgroud)
仅使用“安装”无法按预期工作。该文件未安装在该位置。有人可以向我解释一下区别吗?为什么它在第一种情况下有效,但在仅使用 install 命令时无效?谢谢你。
这两个命令做不同的事情。install(FILES fil DESTINATION dest) 指示 CMake 生成构建规则,以便在运行安装步骤(或等效步骤)时将文件fil复制到其中。destmake install
file(INSTALL ...)在配置时立即评估,而 CMake 正在解析CMakeLists.txt文件。请注意,此签名主要用于上述安装步骤的 CMake 内部实现:它打印以安装为主题的状态消息等。如果您只想在配置时复制文件,您可能更喜欢file(COPY)或file(COPY_IF_DIFFERENT)。
| 归档时间: |
|
| 查看次数: |
1366 次 |
| 最近记录: |