Update README.md

This commit is contained in:
Martchus 2016-07-04 23:53:56 +02:00
parent d749ba7cc2
commit 3301f8518f
1 changed files with 13 additions and 6 deletions

View File

@ -3,7 +3,7 @@ Common C++ classes and routines used by my applications such as argument parser,
## Features ## Features
The library utilizes: The library utilizes:
* parsing command-line arguments * parsing command-line arguments and providing Bash completion
* dealing with dates and times * dealing with dates and times
* conversion of primitive data types to byte-buffers and vice versa (litte-endian and big-endian) * conversion of primitive data types to byte-buffers and vice versa (litte-endian and big-endian)
* common string conversions/operations, eg. * common string conversions/operations, eg.
@ -24,6 +24,7 @@ The library utilizes:
* CMake (I've only tested 3.5.1 so far.) * CMake (I've only tested 3.5.1 so far.)
* cppunit for unit tests (optional) * cppunit for unit tests (optional)
* Doxygen for API documentation (optional) * Doxygen for API documentation (optional)
* Graphviz for diagrams in the API documentation (optional)
#### Runtime dependencies #### Runtime dependencies
* The c++utilities library itself only needs the C/C++ standard library. * The c++utilities library itself only needs the C/C++ standard library.
@ -41,8 +42,10 @@ make DESTDIR="/temporary/install/location" install
``` ```
#### General notes #### General notes
* The make option *-j* can be used for concurrent compilation.
* Building with qmake is not supported anymore. * Building with qmake is not supported anymore.
* The make option ```-j``` can be used for concurrent compilation.
* ```LIB_SUFFIX```, ```LIB_SUFFIX_32``` and ```LIB_SUFFIX_64``` can be set to
specify a suffix for the library directory, eg. lib*64* or lib*32*. The 32/64 variants are only used when building for 32/64-bit architecture.
#### Building for Windows #### Building for Windows
Building for Windows with Mingw-w64 cross compiler can be utilized using a small Building for Windows with Mingw-w64 cross compiler can be utilized using a small
@ -58,16 +61,20 @@ make DESTDIR="/temporary/install/location" install-mingw-w64-strip
#### Development builds #### Development builds
During development I find it useful to build all required projects (for instace c++utilities, qtutilities, tagparser and tageditor) as one big project. During development I find it useful to build all required projects (for instace c++utilities, qtutilities, tagparser and tageditor) as one big project.
This can be easily achieved by using CMakes ```add_subdirectory()``` function. For project files This can be easily achieved by using CMake's ```add_subdirectory()``` function. For project files
see the repository [subdirs](https://github.com/Martchus/subdirs). see the repository [subdirs](https://github.com/Martchus/subdirs).
For a debug build, just use ```-DCMAKE_BUILD_TYPE=Debug```. For a debug build, just use ```-DCMAKE_BUILD_TYPE=Debug```.
### Creating Arch Linux package #### Arch Linux package
The repository [PKGBUILDs](https://github.com/Martchus/PKGBUILDs) contains files for building Arch Linux packages. The repository [PKGBUILDs](https://github.com/Martchus/PKGBUILDs) contains files
for building Arch Linux packages.
PKGBUILD files to build for Windows using the Mingw-w64 compiler are also included. PKGBUILD files to build for Windows using the Mingw-w64 compiler are also included.
### Notes #### RPM package
A \*.spec files can be found at [openSUSE Build Servide](https://build.opensuse.org/project/show/home:mkittler).
### General notes
* There is a workaround for [GCC Bug 66145](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66145) provided * There is a workaround for [GCC Bug 66145](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66145) provided
in io/catchiofailure.h. in io/catchiofailure.h.