Common C++ classes and routines used by my applications such as argument parser, IO and conversion utilities
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Martchus af5b879506 utilize creation of working copies for tests 7 years ago
application added more tests, fixed some bugs 7 years ago
chrono preserve ABI 7 years ago
conversion added {BE,LE}::getBytes24() 7 years ago
io added more tests, fixed some bugs 7 years ago
math added functions for modulo calculations 7 years ago
misc added more tests, fixed some bugs 7 years ago
resources improved project files 7 years ago
testfiles added more tests, fixed some bugs 7 years ago
tests utilize creation of working copies for tests 7 years ago
.gitignore added more tests, fixed some bugs 7 years ago
CMakeLists.txt make test code public to simplify creation of tests in other projects 7 years ago
LICENSE Create LICENSE 7 years ago
README.md updated build instructions 7 years ago
c++utilities.doxygen First commit 7 years ago
c++utilities.pro make test code public to simplify creation of tests in other projects 7 years ago
general.pri disable new ABI (can't catch ios_base::failure with new ABI) 7 years ago

README.md

c++utilities

Common C++ classes and routines used by my applications such as argument parser, IO and conversion utilities.

Build instructions

Requirements

  • C++ compiler supporting C++11 (I've tested GNU g++, Clang and mingw-w64 yet.)
  • CMake to build
  • cppunit to build and run unit tests after building
  • The c++utilities library only depends on the C++ standard library. For Dependencies of my other projects see the README.md of these projects.

How to build

Just run:

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/where/you/want/to/install" "path/to/projectdirectory"
make
make check # build and run unit tests (optional)
make install

Building with qmake is also possible:

INSTALL_ROOT="/where/you/want/to/install" qmake-qt5 "path/to/projectfile"
make && make install

Building for Windows with Mingw-w64 cross compiler can be utilized using a small cmake wrapper from Fedora:

${_arch}-cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="/where/you/want/to/install" "path/to/projectdirectory"
make && make install

To create *.ico files for application icons ffmpeg is required.

In any case, the make option -j can be used for concurrent compilation.

Creating Arch Linux package

The repository PKGBUILDs (also on GitHub) contains files for building Arch Linux packages. PKGBUILD files to build for Windows using the Mingw-w64 compiler are also included.

Notes

  • Because of GCC Bug 66145 usage of the new libstdc++ ABI is currently disabled. Linking against cppunit built using new libstdc++ ABI isn't possible.

TODO

  • rewrite argument parser
  • remove unused features