Skip to content
Jürgen Mülbert edited this page Nov 7, 2018 · 1 revision

Preparing for a new release

For any release

  • Bump the version number in jmbde.qbs, pri/jmbde.pri and appveyor.yml
  • Update the NEWS.md file with the main changes since the last release.

For new feature releases

  • Make sure copyright year in About Dialog is up-to-date
  • Update the translation files (by running make ts in the translations folder)
  • Announce the string freeze to the translations

Making a Mac Release

The jmbde DiskImage (dmg) is build on Travis CI and uploaded to GitHub releases, You can find the commands in the .travis.ymlfile in the repository.

First, make sure you can compile jmbde. You can rely on brew for installing both qt and qbs, after which you do one-time set up of Qbs:

qbs setup-toolchains --detect
qbs setup-qt /usr/local/opt/qt/bin/qmake qt-brew
qbs config profiles.qt-brew.baseProfile xcode-macosx-x86_64
qbs config defaultProfile qt-brew

Alternatively, you can install any other version of Qt. For jmbde releases I currently use Qt 5.11.2, which avoid potential regressions in more recent versions and ensures that jmbde can still run on macOS 10.14.

Open the Terminal, and cd into the base folder of your jmbde checkout.

Run qbsto build jmbde:

qbs -d build --all-products config:release

If it builds, you should have a jmbde.appin the build/release/install-root folder. You should run macdeployqton it to copy the relevant Qt libs and plugins into it and apply the fixup-install-names.rbscript to address remaining library loading issues. The open it and make sure it works properly:

/usr/local/opt/qt/bin/macdeployqt ibuild/release/install-root/Tiled.app
cd build/release/install-root
ruby ../../../resources/scripts/fixup-install-names.rb
open jmbde.app

If everything is running smoothly, the jmbde.appcan be zipped up for distribution:

cd build/release/install-root
zip -r jmbde-$JMBDE_VERSION-macos.zip jmbde.app

Making a Windows Release

The process of makeing a Windows release is entirely automated on AppVeyor. It is triggered when a tag is pushed. The following steps are required for manual creation of an installer:

  • Install Qt. Releases can be made based on either MinGW 4.9 (32-bit) or Visual Studio 2017 (32-bit or 64-bit).
  • Install the WiX toolset.
  • Set either the JMBDE_SNAPSHOTor JMDBE_RELEASEenvironment variable to true.
  • Build jmbde using Qbs (jmbde.qbs), with the property jmbde.windowsInstaller:trueto enable building of the installer (when building from Qt Creator, put this in the Properties field inthe Qbs build step).

If the build succeeds, you should find a jmbde-...-winXX.msifile in the build directory.

Make sure to update the Chocolatey package as well.

Making a Linux Release

Since Linux is very fragmentedm I'm relying on others to package jmbde for various distributions. I'm personally releasing an AppImage on GitHub which should run on most Linux systems.

The jmbde AppImage is build on Travis CI and uploaded to GitHub releases, You can find the commands in the .travis.ymlfile in the repository.