GithubHelp home page GithubHelp logo

isabella232 / mercury-1 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kanocomputing/mercury

0.0 0.0 0.0 1.46 MB

A cross-platform base layer for configuring the system

CMake 60.93% Makefile 0.28% C++ 37.02% Python 1.59% C 0.18%

mercury-1's Introduction

Introduction

CodeFactor

Mercury provides a cross-platform base layer for configuring the system.

Etymology

"Why Mercury?" I hear you say. Primarily because Mercury was the Roman god of boundaries, communication and travel which aligns with this project's main goals:

  • Boundaries: Project Mercury will form the boundary between hardware and what a consumer wants to do, abstracting away platform-specifics.
  • Communication: Project Mercury provides a translation abstraction layer between the consumers and the base hardware, regardless of what that may be.
  • Travel: Project Mercury is designed to be cross-platform from the beginning, allowing the same apps to be delivered across multiple different platforms by providing the base abstraction upon which all functionality can be leveraged.

Additionally, Project Mercury was the first United States human spaceflight program and likewise this is our first foray into colonising other planets (well, hardware).

Finally, Mercury is an element known to send people mad when they inhale too much of the fumes: hopefully not a sign of things to come with this project.

Getting Started

The technologies which are used in this project are:

c++11
cmake
conan
cpplint
doxygen
googletest
lcov
make
qt
sphinx

Install the tools

OS X

pip3 install -r requirements-dev.txt
brew install cmake doxygen lcov qt

Linux

pip3 install -r requirements-dev.txt
apt-get install cmake doxygen lcov qt

Building and running

Build

make

CMake (3.10.0 minimum to allow us to use some of the newer goodies) is used to build both the project and the tests.

If your linux system is based on Debian Stretch, you can use the backports repositories to pull the latest CMake version. Alternatively, you can point your APT sources to Debian Buster.

Test

make test

Tests are written with Google Test. Conan will handle installing all the dependencies here. Coverage reports are generated with lcov and a report can be found in coverage/index.html after running the tests.

make test-library will only cover the core library tests, explained above make test-python to run the Python3 tests only. Note that these tests can also run on the target installation system. You need to have make and python-pytest tools installed.

Lint

make lint

C++ linting is performed by the CppLint tool. The configuration is in the CPPLINT.cfg file.

Automatic checking of the linting is performed by CodeFactor for your convenience.

Documentation

make docs

The base documentation files can be found in the docs/source directory.

C++ code is marked up with Doxygen which integrates with Sphinx using Breathe.

mercury-1's People

Contributors

radujipa avatar skarbat avatar tombettany 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.