我管理一个开源项目,目前我们将其作为压缩文件包分发。我们提供了适用于 Windows 和 Mac 的 bundle - 目前我们希望 Linux 用户自行编译它。
该程序附带了用户需要访问的一堆辅助文件。其中包括用户需要能够轻松找到的示例文件和示例/默认脚本(如插件)(最好不要在/usr/local/foo/examples/scripts 的迷宫中搜索)。
用户还将拥有自己的文件(他们可能希望将其存储在随机位置),但他们也将拥有自己的脚本集合(他们可能希望集中化,以便始终可用)。
我希望支持在多用户环境中进行安装,在该环境中,用户无权干扰程序安装。该程序还将包括一个 API(共享库和 header )和一个 Python 包装器。如果能够自动提供这些内容那就太好了。
我们使用 CMake 构建项目 - 目前使用 CPack 来捆绑 zip 文件。 CPack 的功能比我们目前使用的功能要强大得多。这不是一个如何构建包/安装文件的机械问题,而是一个将所有东西放在哪里的约定问题?
我们希望有一个适用于 MacOS 的应用程序、一个适用于 Windows 的安装程序以及适用于 Linux 的软件包。 Mac Apps 很好地封装了图标、字体、图像等,但它们似乎不太支持用户可见的文件。
我希望有一个跨平台的标准方法来处理这种情况,但我很难在各个平台上找到合适的示例。
除了压缩文件之外,我们还有什么更好的事情可以做吗?
最佳答案
提供这些额外文件的存档可能是最好的解决方案之一。您可以鼓励用户在程序首次启动时下载它们 - 让用户自己决定他们想要的位置。
关于linux - 跨平台安装约定和最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24019029/