cd packaging
./package_macos.shOutput: dist/macos/ProjectUltra.app and ProjectUltra-0.1.0-macOS.dmg
cd packaging
package_windows.batOutput: dist/windows/ProjectUltra/ folder and .zip
cd packaging
./package_linux.shOutput: dist/linux/ProjectUltra-0.1.0-x86_64.AppImage
- Xcode Command Line Tools
- Homebrew
- SDL2:
brew install sdl2
- Visual Studio 2019+
- CMake
- SDL2 (via vcpkg or manual install)
vcpkg install sdl2:x64-windows
- GCC/G++
- CMake
- SDL2:
sudo apt install libsdl2-dev - For AppImage: wget
- Update version in
CMakeLists.txt - Update version in packaging scripts
- Test on clean machines
- Run full simulation test suite
- Test on macOS 10.13+ (High Sierra)
- Consider code signing for Gatekeeper
- Consider notarization for macOS 10.15+
- Test on Windows 7, 10, 11
- Include VC++ Redistributable or link statically
- Test with Windows Defender
- Test AppImage on Ubuntu, Fedora, Debian
- Verify audio device detection
- Check OpenGL compatibility
-
Create a new release tag:
git tag -a v0.1.0 -m "Release 0.1.0" git push origin v0.1.0 -
Build packages on each platform
-
Upload to GitHub Releases:
- ProjectUltra-0.1.0-macOS.dmg
- ProjectUltra-0.1.0-Windows.zip
- ProjectUltra-0.1.0-x86_64.AppImage
| Platform | Size |
|---|---|
| macOS .app | ~5 MB |
| macOS .dmg | ~3 MB |
| Windows .zip | ~4 MB |
| Linux AppImage | ~8 MB |