Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Installation 保存一个文件';在CMake中使用install()时的权限_Installation_Cmake - Fatal编程技术网

Installation 保存一个文件';在CMake中使用install()时的权限

Installation 保存一个文件';在CMake中使用install()时的权限,installation,cmake,Installation,Cmake,在KDE中,我调整了一个宏来编译和安装Python文件,但是我在保留文件的权限方面遇到了问题 更清楚地说,宏中有问题的行是 install(FILES ${SOURCE_FILE} DESTINATION ${DESTINATION_DIR}) 这适用于99%的案例 在一个例子中,虽然我在源目录中有一个标记为可执行(+x,我这里说的是Linux)的Python文件,它随后被符号链接到安装的二进制目录。由于install()不保留权限,因此会从中剥离执行位,这会导致以后出现各种问题 是否可以保留

在KDE中,我调整了一个宏来编译和安装Python文件,但是我在保留文件的权限方面遇到了问题

更清楚地说,宏中有问题的行是

install(FILES ${SOURCE_FILE} DESTINATION ${DESTINATION_DIR})
这适用于99%的案例

在一个例子中,虽然我在源目录中有一个标记为可执行(+x,我这里说的是Linux)的Python文件,它随后被符号链接到安装的二进制目录。由于install()不保留权限,因此会从中剥离执行位,这会导致以后出现各种问题

是否可以保留文件的权限,或者读取并相应地设置权限?我不喜欢使用手动
chmod
命令,因为它不可移植


编辑:我不想让此宏安装的所有文件都可执行,因为这样做毫无意义。

您可以使用
+x
权限安装文件

install(PROGRAMS ...
指挥部

或者,您可以安装保留文件权限的整个目录:

install(DIRECTORIES ... USE_SOURCE_PERMISSIONS)
有关详细信息,请参阅“安装”命令