【问题标题】:cmake : How to change file permissions when installing?cmake:安装时如何更改文件权限?
【发布时间】:2013-10-24 08:21:43
【问题描述】:

我有一个设置了660 标志的文件,但我想安装它并设置700 标志。

我该怎么做?如何在不改变源文件权限的情况下改变文件权限?


我的安装命令是这样的:

install(
    FILES common.sh
    DESTINATION /rootfs/usr/bin
)

这是我尝试过的(但它不起作用):

install(
    FILES common.sh
    FILE_PERMISSIONS "600"
    DESTINATION /rootfs/usr/bin
)

【问题讨论】:

  • 看看umask。
  • @fedorqui 你是什么意思?
  • @fedorqui 我知道如何设置权限,但是使用 cmake 安装时如何设置?
  • 不熟悉,只是根据问题的第一个修订评论。我建议保存当前的 umask,但让我们看看其他人的建议。

标签: linux cmake file-permissions


【解决方案1】:

install(FILES ...) 中没有 FILE_PERMISSIONS 参数。请改用PERMISSIONS:

install(
    FILES common.sh
    PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
    DESTINATION /rootfs/usr/bin
)

【讨论】:

  • 谢谢,它有效。但是您链接的页面谈到了 FILE_PERMISSIONS。我刚刚注意到它不是用于 install(),而是用于 file() 命令。是否可以使用 file() 命令设置权限,因为它似乎提供了更好的控制?
  • 嗯,他们做不同的事情。 install(FILES ...) 中添加的文件在执行make install 时安装,并添加到您制作的任何安装包中。 file(INSTALL ...) 中添加的文件在 CMake 运行时安装,甚至在构建开始之前。
  • 此解决方案是否交叉兼容?我在 linux 上尝试过,它可以工作,但我希望在所有三个主要的 pc 操作系统中都具有同等功能
猜你喜欢
  • 1970-01-01
  • 2020-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-16
  • 2021-03-01
相关资源
最近更新 更多