【问题标题】:CMake : how to create a directory during installation with certain access rights?CMake:如何在安装过程中创建具有特定访问权限的目录?
【发布时间】:2012-09-06 08:50:11
【问题描述】:

我有一个安装在 /opt 中的应用程序(这里就是这样做的)。 除了 logs 目录之外,所有属于根目录的文件和文件夹都可以被任何人写入。

我要创建日志目录

INSTALL(CODE "FILE(MAKE_DIRECTORY \${ENV}\${CMAKE_INSTALL_PREFIX}/logs)")

我怎样才能 chmod 目录?

【问题讨论】:

    标签: permissions installation cmake access-rights


    【解决方案1】:

    不要使用INSTALL 命令的CODE 变体,而是考虑使用DIRECTORY 变体。这一个允许您指定文件系统权限,即:

    install (DIRECTORY "Logs" DESTINATION "." DIRECTORY_PERMISSIONS 
        OWNER_WRITE OWNER_READ OWNER_EXECUTE
        GROUP_WRITE GROUP_READ GROUP_EXECUTE
        WORLD_WRITE WORLD_READ WORLD_EXECUTE)
    

    要使install 命令成功,源文件夹中必须存在一个空目录Logs

    【讨论】:

    • 创建我做的空目录日志:FILE(MAKE_DIRECTORY logs) 谢谢你的帮助
    • @Barth 或者,DIRECTORY DESTINATION "Logs" 在安装时创建目录Logs,而根本不存在Logs 的要求。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-29
    • 2012-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多