Open source collection of C++ modules built to interest a wide variety of programming focuses. The modules provide high and low level abstractions to make software development smoother, leaving the platform-dependent and management code to the library. This project is not a replacement for more developed libraries such as Boost, but it makes attempts at providing unique and useful constructs for programmers.
Build Status | System(s) |
---|---|
Windows 10 (MSVS 2017) | |
Ubuntu 14.04.3 (gcc 4.8.4/clang 5.0.0) OSX (XCode 8.3 clang) |
Building is simplified into platform specific build scripts. For Windows systems, execute Build.bat, while on *nix systems, use Build.sh. These will generate a Build folder in the project root to store all intermediates and binaries. Running these scripts without any arguments will default to 64 bit builds without debugging information.
You can customize the build with the following set of commandline arguments. Note: If you want to specify one of these arguments, you must specify all preceding arguments. Any arguments not specified after will resort to defaults. Order does matter.
[Argument 1] Release | Debug
Changes whether or not debugging information should be included in the build.
[Argument 2] x86 | x64
Changes the target system architecture.
[Argument 3*] coverage
Changes whether or not code coverage data should be included in the build.
[Argument 3**] HASNUGET
* *nix build script only, used mainly by CI for code coverage statistics.
** Windows build script only, use this if you have NuGet in your PATH and don't need to download it.
- CMake 3.1 or Later
- Compiler With C++14 or Later Support
This is an open source project that is open to any public submissions that fall within the loosely held style guide of the project. Until an official guide is written, potential contributors can look over the code provided and do their best to get a sense of the structure and style. As for work environments, Microsoft Visual Studio is the native development suite for work on the library and will always be supported. It is unknown whether or not other IDEs will be natively supported in the future.
When contributing, make sure to submit your line endings as LF. This can be done in Windows by setting your git configuration variable core.autocrlf
to true
. For non-DOS systems that natively use LF line endings, set it to input
.