Bash 更改CMake中文件的权限
我使用CMake创建了一个shell脚本,如下所示:Bash 更改CMake中文件的权限,bash,shell,build,permissions,cmake,Bash,Shell,Build,Permissions,Cmake,我使用CMake创建了一个shell脚本,如下所示: 文件(编写somescript.sh“echo foo!”) 我希望用户能够立即执行该脚本。为此,最好在CMake中更改该文件的权限 CMake中是否有类似于chmod u+x somescript.sh的内容?您可以在istall命令中执行此操作。使用以下标签: install( FILES somescript.sh PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
文件(编写somescript.sh“echo foo!”)
我希望用户能够立即执行该脚本。为此,最好在CMake中更改该文件的权限
CMake中是否有类似于
chmod u+x somescript.sh的内容?您可以在istall命令中执行此操作。使用以下标签:
install(
FILES somescript.sh
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
DESTINATION /some/destination
)
可以在istall命令中执行此操作。使用以下标签:
install(
FILES somescript.sh
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
DESTINATION /some/destination
)
install
的问题是,当目标目录等于源目录并且文件本身没有更改时(CMake似乎比较时间戳),现有文件不会被覆盖。但无论如何,我找到了一个有效的解决方案,供大家阅读:
如问题所示,在临时文件夹${CMAKE\u BINARY\u DIR}/tmp
使用文件(复制${CMAKE\u BINARY\u DIR}/tmp/somescript.sh目标${CMAKE\u BINARY\u DIR}文件${CMAKE\u BINARY\u DIR}权限所有者.\u执行所有者.\u写入所有者.\u读取)
删除旧文件和临时目录:文件(删除递归${CMAKE\u BINARY\u DIR}/tmp/)
install
的问题是,当目标目录等于源目录并且文件本身没有更改时(CMake似乎比较时间戳),现有文件不会被覆盖。但无论如何,我找到了一个有效的解决方案,供大家阅读:
如问题所示,在临时文件夹${CMAKE\u BINARY\u DIR}/tmp
使用文件(复制${CMAKE\u BINARY\u DIR}/tmp/somescript.sh目标${CMAKE\u BINARY\u DIR}文件${CMAKE\u BINARY\u DIR}权限所有者.\u执行所有者.\u写入所有者.\u读取)
删除旧文件和临时目录:文件(删除递归${CMAKE\u BINARY\u DIR}/tmp/)
如果您要复制二进制文件,我将使用\u SOURCE\u权限如果您要复制二进制文件,我将使用\u SOURCE\u权限删除\u RECURSIVE对我不起作用。它是REMOVE\u RECURSE,正如官方文档中提到的那样,REMOVE\u RECURSE对我不起作用。它是REMOVE_RECURSE,正如官方文档中所提到的,它在linux pc上尝试过这一点,确实有效,但在windows上。。我认为它不是交叉兼容的解决方案在linux pc上尝试了这一点,确实有效,但在windows上。。我认为它不是交叉兼容的解决方案