Project

General

Profile

Developer Quick Start Guide

GIT Setup

All developers are able to check into all submodules because there may be project overlapping fixes.
Please keep commits clean, transparent and comprensible.

Clone repositorities

git clone --recursive ssh://[username]@nwrk.biz:2294/~/full-project

Replace [username] with your login name (git username is all lowercase). You will be prompted to enter your Password.

HINT: On Windows please use GIT Bash!

Pull repositories

Navigate to your "full-project" folder and use following command:

git pull --recursive

Reset Password

In case you loose your password, please send an SSHA hash of your new password to giri[@]nwrk.biz.
You can generate this hash using following tool: https://mediator.nwrk.biz/genpassword.php

Reference Tickets/Tasks in git commit messages

See here: http://www.redmine.org/projects/redmine/wiki/RedmineSettings#Referencing-issues-in-commit-messages

Build Setup

As build system Debian 9 amd64 is chosen. Alle Binaries are built for the i386 architecture.

Dependencies

Debian

$ sudo dpkg --add-architecture i386
$ sudo apt update
$ sudo mv /usr/lib/llvm-3.9/lib/libclang-3.9.so.1 /usr/lib/llvm-3.9/lib/libclang-3.9.so.1.bak
$ sudo apt install -y build-essential libgl1-mesa-dev:i386 libasound-dev:i386 libx11-dev:i386 libao-dev:i386 libglu-dev:i386 gcc-multilib g++-multilib mingw-w64 binutils-mingw-w64 p7zip-full libbsd-dev:i386

Fedora

$ sudo dnf install autoconf automake libtool glibc-devel.i686 glibc-devel glibc-static libstdc++-static glibc-static.i686 libstdc++-static.i686 mesa-libGL-devel.i686 libX11-devel.i686 mesa-libGLU-devel mesa-libGLU-devel.i686

Wine libraries for Windows builds

Needed for fltk library build tests.

$ sudo apt install -y wine wine32 wine64 libwine libwine:i386 fonts-wine wine-binfmt
$ sudo update-binfmts --import /usr/share/binfmts/wine

Make sure to use MinGW-W64 POSIX for threading support

Use following commands to change MinGW version from win32 to posix:

$ sudo update-alternatives --config x86_64-w64-mingw32-gcc
$ sudo update-alternatives --config i686-w64-mingw32-gcc
$ sudo update-alternatives --config x86_64-w64-mingw32-g++
$ sudo update-alternatives --config i686-w64-mingw32-g++