glfw-skeleton icon indicating copy to clipboard operation
glfw-skeleton copied to clipboard

Create distributable artifacts

Open andystanton opened this issue 2 years ago • 0 comments

A user of this project should be able to extend it and then easily distribute it. The project builds an executable and copies shaders to the build output path. This means that sharing the application involves multiple files and does not automatically end up in the standard OS location for programs.

macOS has the concept of app bundles that are a folder that contains the executable and resources, and is treated as an executable itself. CMake allows the creation of app bundles as well as the ability to create a dmg image for distribution. There is a fixed folder structure required by app bundles, so some changes are likely to be required in the code that loads resources.

Windows does not have an equivalent to the macOS app bundle and applications are typically installed in their own folder in Program Files. CMake has the ability to create NSIS installers which can be used for distribution.

I don't know what the standard way to distribute Linux GUI apps is.

This outcome of this issue is to confirm what the distributable formats should be, and then implement it. Ideally this will be through mechanisms provided by CMake.

andystanton avatar Oct 17 '21 12:10 andystanton