5

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

4

1 回答 1

3

您可以使用参数指定权限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
于 2014-11-26T23:06:42.017 回答