Giter Site home page Giter Site logo

ggdatetime's Introduction

C++ Datetime library

Build Status Total alerts Language grade: C/C++

Introduction

ggdatetime is a C++ library to assist date and time - related computations in Geodesy related fields.

Compilation / Installation

Source code is ISO C++17. Compilation should be trivial using any C++ compiler supporting the c++17 standard (option -std=c++17 in gcc and clang).

October 2021 Source code can also be compiled using the latest C++ 20 standard. To compile against C++20, set the corresponding flags in the Makefile.am files.

Since December 2021, the build system has been changed from GNU Autotools to scons.

April 2022 Building with Autotools is now deprecated and not supported.

For the following, ROOTDIR will be the root directory of this repository, aka the directory under which /src, /test and /doc folders live.

Compile and install

To compile and install, using scons, just type:

scons
sudo scons install

Verify & Test

After a succesefull installation, users should have:

  1. all library header files in /usr/local/include/datetime/
  2. the library (both a static and shared) in /usr/local/lib/

To run a validity check, just run: make check at the root directory. Hopefully, you 'll see all checks passing!

The following step is optional A validation test script (kind of unit-testing) can be run to check that the library works as expected. You do not need to have the library installed on your system to perform the check (aka the step sudo make install is not needed) you only need to have it compiled (aka make should be successeful). If you built the library in a seperate folder you may need to edit the script, because it assumes that the (newly compiled) library is located in ROOTDIR/src/.libs witch is the default case. The validation script can be found is make_unit_tests.sh and to run it (assuming you are in ROOTDIR): cd var && bash make_unit_tests.sh. The script will use a number of source files located in the ROOT/var folder to check the compile-ibility of the sources and the reported results. At the end of the report, you should see the meesage: Everything appears to have worked as expected!

Link, include and have fun!

The Library

Namespaces

The whole of the library is wrapped around the dso namespace

Linking

  • static
  • dynamic

Documentation & Library API (TODO)

  • build dox with doxygen (or link to dox)

TODO

Bugs & Maintanance

Xanthos, [email protected] Mitsos, [email protected]

FAQ

ggdatetime's People

Contributors

xanthospap avatar

Watchers

 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.