A template for starting with new C++ applications.
Some example libraries are included to make your life easier and understanding of "what happens where" simpler. These libraries are listed below.
Just clone the repository (or even download and unpack)and template is ready.
Template uses CMake
Template in first version requires boost for parsing command line options and as testing framework. Right now it is not prepared for boostless projects, but we may consider it if a need arises. If you're interested in such feature, please contact development team.
There are a few libraries included so that you might get see an example of how the system was supposed to work. These include:
- Turtle (master branch) as mocking library (only in tests)
- Celero (master branch) as benchmarking library (only in tests)
- ChaiScript (develop branch) as scripting language (in production code)
- PugiXML (master branch) as, well, XML library (in production code)
- spdlog (master branch) as logger (in production code)
- sqlite (3.8.8.3 amalgamation) as database management library (in production code)
- wolfssl for ssl support (in production code)
- libwebsockets for websockets and http calls (in production code)
- Lyra for command line option parsing (in production code)
- libssh2 for handling SSH connections (in production code)
- libarchive for compression (in production code)
- rapidjson for JSON (in production code)
Some or all might be included as submodules, so make sure you fetch them all before compiling
There is also embedded support for some common C++ libraries:
- Boost for general-purpose utilities
- OpenCV for stuff related to image processing
The future is mildly likely to bring in:
- Qt for UI-related stuff
- libxml2 for XML schemas (in production code)
Project uses CMake (version 2.8 is minimal supported) as its buildsystem, so it should work everywhere where CMake is supported and all required libraries are available.
Simply invoke cmake .
in the main directory or - in case of out-of-source (recommended) builds, invoke it from a different directory. Just like any other CMake invocation.
If you wish to use provided libraries on MSVS, make sure you have installed at least MSVS 2013 Update 4, as some stuff in ChaiScript library requires it.