Provide a define for having OpenMP
Merge pull request #305 from rolk/305_openmp

Provide a define for having OpenMP
Enable support for Ninja build generator

Use the Ninja build generator if '--enable-ninja' is passed on the
command line to ./configure (or of course if -GNinja is passed
directly to CMake).
Merge pull request #306 from rolk/306_ninja

Enable support for Ninja build generator
Recognize Clang to be a GCC-compatible compiler

Clang aims to be compatible with GCC when it comes to command-line
parameters. Where we enable functionality based on the presence of
a GCC-compiler, we can use the same functionality with Clang.

This patch introduces a new variable CXX_COMPAT_GCC which is true if
the compiler handles the same options as GCC, and this variable is
subsequently used in tests instead of CMAKE_COMPILER_IS_GNUCXX (which
remains if we need to test if we really have GCC, e.g. for version)
Merge pull request #307 from rolk/307_clang

Recognize Clang to be a GCC-compatible compiler
Have distclean target keep up with build improvements

If you run `cmake --build . -- distclean` all generated files will
now be gone! This adds the files that have been introduced in later
improvements to the build system.
Merge pull request #309 from rolk/309_clean

Have distclean target keep up with build improvements
Build system: make it work for modules which do not need libraries
Merge pull request #310 from andlaus/allow-nolib

Build system: make it work for modules which do not need libraries