These use C++11.
All code Copyright (c) 2021 Christopher White, unless otherwise indicated.
This is a C++11 project using autotools as the build system.
The modules are:
logging
: multi-level logging librarystring
: some string functions not instring.h
and friendstest
: basic testcase-management and test-assertion library
globstari
: file-globbing and ignore-files routines- Depends on PCRE2
./configure && make -j # normal
./coverage.sh # for code coverage
./asan.sh # for Address Sanitizer
./configure CC=clang CXX=clang++ && make -j
./asan.sh clang # for Address Sanitizer
Note that CXX
does have to be clang++
, not just clang
.
- editorconfig-core-c
by the EditorConfig team. Licensed under various BSD licenses.
Included in the
globstari
module
- Pretty-printing: Artistic Style, Ubuntu package
astyle
. - Docs: Doxygen and dot(1) (Ubuntu packages
doxygen
andgraphviz
)
./autogen.sh && make -j maintainer-clean && ./autogen.sh
That will leave you ready to run make
The first time you compile, you may get errors about missing .deps/*
files.
If so, re-run make
. If that doesn't work, run make -jk
once to generate
the deps files, and then you should be back in business.
make -j check
, or ./asan.sh
for Address Sanitizer testing.
src/
: implementation filesinclude/smallcxx/
: header filest/
: tests.*-t.sh
and*-t.cpp
are test sources.*-s.cpp
are supporting programs.doc/
: documentation. Doxygen output is indoc/html/index.html
.
- 4-space tabs, cuddled
else
. Runmake prettyprint
to format your code. - All Doxygen tags start with
@
(not backslash).