cmake文档告诉我们默认权限是用户读取写入,组读取和其他读取。更改cmake安装命令的默认文件权限
我们的项目有大量的带有INSTALL命令的CMakeLists.txt文件,我们需要我们所有安装的文件和目录都是可写的。有没有办法将默认权限设置/更改为包含组写入,而无需向每个INSTALL命令添加PERMISSIONS规范?
cmake文档告诉我们默认权限是用户读取写入,组读取和其他读取。更改cmake安装命令的默认文件权限
我们的项目有大量的带有INSTALL命令的CMakeLists.txt文件,我们需要我们所有安装的文件和目录都是可写的。有没有办法将默认权限设置/更改为包含组写入,而无需向每个INSTALL命令添加PERMISSIONS规范?
我不知道在CMake中更改默认安装权限集的方法。 但是,您可以替换install
命令,以将适当的PERMISSIONS附加到它的参数。像这样:
function(install TYPE)
if(TYPE STREQUAL "FILES")
# install(FILES) command with additional PERMISSIONS option at the end
_install(FILES ${ARGN}
PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ
)
else()
# Pass original arguments for other types of install() command
_install(${TYPE} ${ARGN})
endfunction(install)
这可以安装()命令中的任何使用前放置在顶层CMakeLists.txt
。或者,此代码可存储在.cmake
脚本中,该脚本可通过include()
命令包含在顶级CMakeLists.txt
中。
文件和显式安装目录中没有全局设置,但CMake的3.10.0上你可以设置安装自动生成目录的权限(那些创建由于CMAKE_INSTALL_PREFIX设置或指定的目标路径):
和包装:
哪个操作系统是你的工作吗? – Onno
红帽企业Linux 6 –