Skip to content

Compiling

Folke Will edited this page Jan 21, 2019 · 17 revisions

Prerequisites

AviTab contains its external dependencies as git submodules, all you need is a C++ compiler in a POSIX environment. Some external depdendencies rely on the legacy autotools so these need to be installed as well.

I personally use Jetbrains CLion as my primary IDE to develop AviTab, they kindly sponsored a free license for AviTab's development. My reason to evaluate it was Eclipse's lack of support for MinGW CMake projects on Windows and CLion just worked out of the box for me.

Windows

I suggest to compile AviTab in the MSYS2 environment.

  • Get and install MSYS2 for x86_64 from here: https://www.msys2.org/
  • MSYS will install three shells, the following steps should be done in the "MSYS2 MSYS" shell:
    • Install the compiler toolchain: pacman -S mingw-w64-x86_64-toolchain
    • Install cmake: pacman -S mingw64/mingw-w64-x86_64-cmake
    • Install git: pacman -S msys/git
    • Install patch: pacman -S msys/patch
    • Install make: pacman -S msys/make
    • Install autoconf: pacman -S msys/autoconf
    • Install automake: pacman -S msys/automake
    • Install libtool: pacman -S msys/libtool
    • Install glfw: pacman -S mingw64/mingw-w64-x86_64-glfw
  • The actual compilation should be done in the "MSYS2 MinGW64" shell

All Platforms

The standalone version requires glfw to build and run. You don't need it if you only want the plugin. It can be installed using common package managers, e.g.apt-get on Debian and brew on OS X. Make sure the packages mentioned for the Windows version above are available on your platform, e.g. cmake, make, patch and so on.

Building AviTab

Cloning the AviTab Repository

Since AviTab contains its external dependencies as git submodules, you need to clone it using this command:

git clone --recurse-submodules https://github.com/fpw/avitab

Building the Dependencies

  • Enter the avitab directory
  • Run ./build_dependencies.sh, this script works on all supported platforms
  • Run it again to see if anything failed, it should basically do nothing on the second run
  • If it failed, you should run ./clean_dependencies.sh before trying again

Compiling AviTab

  • Create a directory called build inside the AviTab directory
  • Enter that directory and run cmake -G 'Unix Makefiles' ..
  • Now you should be able to compile by running make AviTab-standalone or make avitab_plugin
  • To run the standalone version, copy the contents of the res folder from avitab/res to avitab/build
  • On success, you should be able to run the AviTab executable located in avitab/build/

Notes on the Navigraph Integration

  • The Navigraph integration is not supported if you compile AviTab yourself. The reason is that Navigraph has licensed the charts from Jeppesen and the license forbids using the charts outside of virtual environments. Since you could create your own client by using AviTab's code and thus violate Jeppesen's license, this is forbidden. Please do not try to reverse engineer it as this will get AviTab banned and then no one can use it anymore.