如何使用cmake“安装目录”指令保留所有权?

时间:2016-07-15 17:26:11

标签: permissions cmake directory install ownership

USE_SOURCE_PERMISSIONS按预期保留权限:

install(
  DIRECTORY dir/
  DESTINATION dest
  USE_SOURCE_PERMISSIONS
)

但是,当我运行

时,不会保留文件的所有权
sudo make install

我错过了什么,或者没有办法用CMake干净利落地完成它?

编辑:

  • cmake version 3.5.2
  • 操作系统arch linux

我想出了一个我能想到的最简单的例子来重现这个问题,但同样的情况仍在发生。

cmake_minimum_required(VERSION 2.8 FATAL_ERROR)

install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/to_install
        DESTINATION $ENV{HOME}
        USE_SOURCE_PERMISSIONS)

然后我跑:

mkdir build
cd build
cmake ..
sudo make install

原始权限是:

.──[drwxr-xr-x guicc   ]  test-cmake
   ├── [-rw-r--r-- guicc   ]  CMakeLists.txt
   └── [drwxr-xr-x guicc   ]  to_install
       ├── [-rw-r--r-- guicc   ]  file1.txt
       └── [-rw-r--r-- guicc   ]  file2.txt

结果权限如下:

.──[drwxr-xr-x root   ] to_install
   ├── [-rw-r--r-- root    ]  file1.txt
   └── [-rw-r--r-- root    ]  file2.txt

0 个答案:

没有答案