Deployment

This page describes how to back a compiled binary with all required libraries into a redistributable executable or installer.

Windows

We are using the Nullsoft Scriptable Install System (NSIS). To build the installer follow these instructions:

  • cd to your top level qgroundcontrol directory
  • Use the following settings for your qmake call: CONFIG+=release CONFIG+=installer
  • Build QGroundControl as you normally would
  • When the build is complete there will be a qgroundcontrol-installer-win32.exe in your release directory

More information on NSIS:

Mac

To build the Mac installer follow these instructions:

  • Make sure that you have installed the SDL framework in /Library/Frameworks/SDL.Framework
  • Use the following settings for your qmake call: CONFIG+=release CONFIG+=installer
  • Build QGroundControl as you normally would
  • When complete there will qgroundcontrol.dmg disk image in your release directory

You can either redistribute the qgroundcontrol.dmg (recommended) or ZIP the qgroundcontrol.app.

More information on general OS X deployment:

Typical errors:

If the framework is missing / misspelled, you don't get a “file not found” error, but this rather non-intuitive error message:

stat() failed with errno=20

If you have an outdated Mac OS X SDK, you might run into this error message. Just update your OS X SDK and it should be fine:

unknown required load command 0x80000022

Ubuntu / Debian

mkdir qgroundcontrol-version
cd qgroundcontrol-version/

#create package
# have installed gpg key for mail address
dh_make -e "mail@qgroundcontrol.org" -c gpl --createorig

#edit files in newly appeared debian folder

#add all files to be installed into directory
# create folders named usr/bin . put executable in there
# should look like:
ls -R
./usr:
bin  share

./usr/bin:
qgroundcontrol

./usr/share:
applications  pixmaps

./usr/share/applications:
qgroundcontrol.desktop

./usr/share/pixmaps:
qgroundcontrol.png


# create binary
debuild -b

It would be better if the package could be build from source directly…

Convert Icons