mirror of
https://github.com/mapmapteam/mapmap.git
synced 2026-04-01 21:19:39 +02:00
174 lines
5.4 KiB
Markdown
174 lines
5.4 KiB
Markdown
Build instructions
|
|
==================
|
|
|
|
Build on GNU/Linux
|
|
------------------
|
|
|
|
Install the dependencies.
|
|
|
|
Build it:
|
|
|
|
```
|
|
qmake mapmap.pro
|
|
make
|
|
```
|
|
|
|
Alternatively:
|
|
|
|
```
|
|
./scripts/build.sh
|
|
```
|
|
|
|
### Ubuntu
|
|
|
|
NOTE: Tested on 13.10, 14.04, 15.04 and 16.04
|
|
|
|
Install basic development tools for Qt projects, plus liblo for OSC support:
|
|
|
|
```
|
|
sudo apt-get install -y \
|
|
liblo-dev liblo-tools \
|
|
qttools5-dev-tools \
|
|
qtmultimedia5-dev \
|
|
libqt5opengl5-dev \
|
|
qtwebengine5-dev \
|
|
libqt5multimedia5-plugins \
|
|
qt5-default
|
|
```
|
|
|
|
Install GStreamer 1.0 libraries and plugins:
|
|
|
|
```
|
|
sudo apt-get install -y \
|
|
libgstreamer1.0-dev \
|
|
libgstreamer-plugins-base1.0-dev \
|
|
gstreamer1.0-plugins-bad \
|
|
gstreamer1.0-libav \
|
|
gstreamer1.0-vaapi \
|
|
gstreamer1.0-plugins-base \
|
|
gstreamer1.0-plugins-base-apps \
|
|
gstreamer1.0-plugins-good \
|
|
gstreamer1.0-plugins-ugly \
|
|
gstreamer1.0-x \
|
|
gstreamer1.0-tools
|
|
```
|
|
|
|
Install extra packages if you want to build the documentation:
|
|
|
|
```
|
|
sudo apt-get install -y \
|
|
doxygen \
|
|
graphviz \
|
|
rst2pdf \
|
|
markdown
|
|
```
|
|
|
|
### Arch Linux
|
|
|
|
Install basic development tools for Qt projects, GStreamer 1.0 and liblo for OSC support:
|
|
|
|
```
|
|
sudo pacman -S qt5-tools qt5-multimedia qt5-webengine liblo gstreamer
|
|
```
|
|
|
|
Install GStreamer 1.0 libraries and plugins::
|
|
|
|
```
|
|
sudo pacman -S gst-libav \
|
|
gstreamer-vaapi \
|
|
gst-plugins-bad \
|
|
gst-plugins-base \
|
|
gst-plugins-base-libs \
|
|
gst-plugins-good \
|
|
gst-plugins-ugly
|
|
```
|
|
|
|
Build on Mac OS X
|
|
-----------------
|
|
|
|
NOTE: This has been tested on OS X 10.11 (El Capitan).
|
|
|
|
Install tools and dependencies:
|
|
|
|
1) Install the Apple Developer Tools
|
|
- You need to register with a credit card in the Apple Store in order to download it (no need to pay, but Apple requires your credit card number).
|
|
2) Install Qt5
|
|
- You can get the open source version from http://www.qt.io/download-open-source/
|
|
- Run the installer and choose the default location (which should be ~/Qt).
|
|
- Latest tested version: 5.5.1=
|
|
3) Install liblo
|
|
- Use the following guide: http://macappstore.org/liblo/
|
|
- OR compile from the tar.gz - it should install it to /usr/local
|
|
4) Install the GStreamer framework. You need the runtime and devel packages to be installed:
|
|
- https://gstreamer.freedesktop.org/data/pkg/osx/1.6.0/gstreamer-1.0-1.6.0-x86_64.pkg
|
|
- https://gstreamer.freedesktop.org/data/pkg/osx/1.6.0/gstreamer-1.0-devel-1.6.0-x86_64.pkg
|
|
- http://gstreamer.freedesktop.org/data/pkg/osx/1.6.0/gstreamer-1.0-1.6.0-x86_64-packages.dmg
|
|
|
|
Do this:
|
|
|
|
```
|
|
./scripts/build.sh
|
|
```
|
|
|
|
It will create a .app and a .dmg.
|
|
|
|
DMGVERSION.txt should be created automatically with "1" as its contents. Update to "2", and so on, if needed.
|
|
|
|
### Troubleshooting
|
|
|
|
#### GStreamer header not found
|
|
|
|
If you have a compilation error saying that file ```<gst/gst.h>``` cannot be found: make sure your GStreamer.framework folder is installed and is _not_ read-protected.
|
|
|
|
#### Corrupted OSC port
|
|
|
|
If the appearance of the window of the OSC port number in the preferences seem corrupted, you might want to reset MapMap's preferences:
|
|
|
|
```
|
|
rm -f ~/Library/Preferences/info.mapmap.MapMap.plist
|
|
```
|
|
|
|
To print debugging informations, launch it from the Terminal app like this::
|
|
|
|
```
|
|
GSTPLUGIN_PATH=/Library/Frameworks/GStreamer.framework/Libraries GST_DEBUG=2 /Applications/MapMap.app/Contents/MacOS/MapMap
|
|
```
|
|
|
|
Build on Windows
|
|
----------------
|
|
|
|
## Build dynamic version to debug project:
|
|
- Download and install gstreamer-x86 [runtime](https://gstreamer.freedesktop.org/data/pkg/windows/1.16.2/gstreamer-1.0-mingw-x86-1.16.2.msi) and [devel](https://gstreamer.freedesktop.org/data/pkg/windows/1.16.2/gstreamer-1.0-devel-mingw-x86-1.16.2.msi)
|
|
- Download and install [Qt5 MinGW incl. QtCreator](https://www.qt.io/download-thank-you?os=windows)
|
|
- Add the GStreamer bin path (e.g. C:\gstreamer\1.0\x86\bin) to PATH variable into the QtCreator project build enviroment settings
|
|
- Build and run MapMap project within QtCreator (Ctrl-R)
|
|
|
|
## Build static version for release:
|
|
- Download and install gstreamer-x86 [runtime](https://gstreamer.freedesktop.org/data/pkg/windows/1.16.2/gstreamer-1.0-mingw-x86-1.16.2.msi) and [devel](https://gstreamer.freedesktop.org/data/pkg/windows/1.16.2/gstreamer-1.0-devel-mingw-x86-1.16.2.msi)
|
|
- Build a [Qt static environment](https://wiki.qt.io/Building_a_static_Qt_for_Windows_using_MinGW) (This [video](https://www.youtube.com/watch?v=nEQGrBiz2T0) may explain it better)
|
|
- Build MapMap using QtCreator (qmake, build release)
|
|
- Copy all dll files of the gstreamer's bin folder (e.g. C:\gstreamer\1.0\x86\bin) into the target folder together with MapMap.exe
|
|
- Copy all dll files of the gstreamer's plugin folder (e.g. C:\gstreamer\1.0\x86\lib\gstreamer-1.0) into an new folder named 'plugin' in parallel to MapMap.exe.
|
|
- Run MapMap.exe
|
|
|
|
#### For packaging
|
|
- Open Qt terminal via a Start Menu and run the following command:
|
|
`windeployqt --release --no-system-d3d-compiler <path-to-app-binary>`
|
|
- Replace all the `*.qm` files that exists in `released-binary`/translations folder by the ones from `source-code`/translations folder
|
|
- Download and install [Inno Setup](https://jrsoftware.org/isdl.php) to create an installation wizard setup
|
|
|
|
Editing translations
|
|
--------------------
|
|
You might need to update the files:
|
|
|
|
```
|
|
cd src/mapmap
|
|
lupdate mapmap.pro
|
|
```
|
|
|
|
Then, do this:
|
|
|
|
```
|
|
lrelease mapmap.pro
|
|
```
|