【发布时间】:2016-09-27 18:23:29
【问题描述】:
我正在尝试更改安装在 Cmake 中的文件的权限,但它不起作用。我似乎在做他们在discussion of permission changing 讨论的事情,我第一次编辑文件时文件的权限是错误的,并且无法应用更改(然后它会神奇地修复它自己的权限,以便下次保存它) .
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.vcxproj.in
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.vcxproj)
file(COPY ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}.vcxproj
DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
FILE_PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
)
我尝试像install 一样执行此操作,但收到一条错误消息....在安装时执行此操作时出现错误消息,指出文件不存在,但它显示了文件应该位于的位置.也许那时还没有安装。
【问题讨论】:
-
我不确定
file(COPY)是否可以根据需要就地更改文件的权限。请注意,您提到的讨论使用${CMAKE_FILES_DIRECTORY}作为配置文件目录的附录,因此file(COPY)实际上复制了文件。 -
但是它应该在复制文件时给予不同的权限。对我来说,直到我第一次尝试保存文件后权限才会改变。
-
同样,
file(COPY)应该仅在目标文件与源文件不同时才有效。当目标和源是相同的文件时,您希望此命令“就地”替换权限。 -
那么您建议如何更改该文件的权限?
-
正如您的参考建议,
configure_file进入其他目录,然后file(COPY)进入理想位置。在这种情况下,设置权限应该可以工作。
标签: windows visual-studio cmake