我使用cpack创建一个deb包,但它没有保留目标计算机上的原始权限。这导致我的应用程序的用户在安装后无法执行它。
答案 0 :(得分:0)
您可以使用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