CMake:保留使用 cpack 创建的 deb 包中的文件权限?

Ste*_*cto 5 cmake cpack

我使用 cpack 创建了一个 deb 包,但它没有保留目标计算机上的原始权限。这导致我的应用程序的用户在安装后无法执行它。

spe*_*488 4

您可以使用PERMISSIONS参数指定权限。

也有USE_SOURCE_PERMISSIONS,不过我没用过。

这是一个明确的论证示例PERMISSIONS

# Install monit configuration
INSTALL( FILES ${CMAKE_SOURCE_DIR}/ext_modules/monit.d/${CMAKE_PROJECT_NAME}
         DESTINATION ${CMAKE_PACKAGE_TARGET_SYSCONFIG_DIR}/monit.d
         PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE ) # 755

# Install application
INSTALL( PROGRAMS ${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}
         DESTINATION ${CMAKE_PACKAGE_TARGET_USER_BINARIES_DIR}
         PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_EXECUTE ) # 775
Run Code Online (Sandbox Code Playgroud)