Giter Site home page Giter Site logo

kompas's Introduction

Kompas is an portable navigation system with goal to be as multiplatform and extensible as possible. Its core library is written in pure C++ with no external dependencies, on top of it is Qt and SDL GUI. The application is licensed under LGPLv3.

This repository encapsulates these projects:

  • kompas-core - Core Kompas library
  • kompas-qt - Kompas GUI written in Qt
  • kompas-sdl - Kompas GUI written in SDL
  • kompas-plugins - Kompas plugins
  • kompas-plugins-nonfree - Non-free Kompas plugins
  • kompas-artwork - Complete Kompas artwork

INITIALIZATION (if you have this as Git repository)

This is a so-called Git superproject. The purpose of an superproject is to aggregate more projects into one repository, so the developer doesn't need to manage every project separately. Git doesn't automatically fetch all submodules upon cloning, it has to be done manually. To initialize submodules, run

git submodule init

This will initialize the submodule configuration in .git/config. You can then modify submodule URLs for your local setup, if you want. Then run

git submodule update

to fetch all sub-repositories. This command should be run after every git pull of this repository, but it can also cause data loss. More info in Git manual.

INSTALLATION

Recommended way is to compile and install every subproject manually, as every installable subproject contains also packaging scripts for some distributions. Everything what you need is then described in subprojects̈́' READMEs.

Or you can compile and install everything together.

Dependencies

Roughly these, but some plugins would probably require another dependencies, check READMEs in plugins/ and plugins-nonfree/ subdirectories.

  • CMake - for building
  • Qt - for Qt GUI
  • SDL - for SDL GUI

Compilation, installation

mkdir -p build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr .. && make
make install

If you want to build also unit tests (which are not built by default), pass -DBUILD_TESTS=True to CMake. Unit tests use QtTest framework.

Generating documentation

Kompas is documented via Doxygen. All you need is to have Doxygen, TeX (for mathematic formulas) and GraphViz (for dependency graphs) installed. Then run

doxygen

in this directory (where the Doxyfile is). Resulting HTML documentation will be in build/doc/. Just open index.html and there it is!

CONTACT

Want to learn more about the application? Found a bug or want to tell me an awesome idea? Feel free to visit project website or contact me at:

kompas's People

Contributors

jandupal avatar mosra avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.