-Disable LINTing in test macros with comment // NOLINT
-Enable static analyzers for c++ tests
-Switch app4triqs_c to static library
Dynamic was pickung up previously installed libapp4triqs_c.so in tests
Also there is no need to be dynamic for applications
-Fix previous change in HeaderFilterRegex:
'app4triqs/c++' was blocking all headers for clang-tidy checks.
'app4triqs' works well, but we cannot install any other headers into
app4triqs folder structure.
We thus had to create INSTALL_DIR in travis.yml
-consistent indends in all cmake files
-add static analyzer checks with both cppcheck and clang-tidy
-add dynamic analyzer checks with Address Sanitizer and option ASAN
-add dynamic analyzer checks with Undefined Behavior Sanitizer and option UBSAN
-Further Cleaning and Comments
First of all, 'c++/plovasp/atm' was erroneously removed after
the last merge with the upstream branch.
Now, the whole subdirectory 'c++' is added.
Also, C++ flags are properly imported from the TRIQS configuration.
In order to wrap the ATM routines by Python using TRIQS wrapping
tools it is necessary to modify the interface to 'dos_tetra3d'.
The major changes involved replacing direct NumPy arrays with
TRIQS arrays which can be converted to Python arrays using library
tools.
Also, some small changes were necessary to port the functions
from C99 complex numbers to C++ style.
CMakeList is added to automatize building of the ATM library.
In order to use c++2py tools the C-code must be rewritten to C++.
In particular, instead of direct creation of Numpy arrays STL
containers must be used.