Currently the path of the testfiles always had to be specified
either manually using the -p argument or by running the tests
via the build system targets. The first option is annoying and
the second option not so nice when using Qt Creator and the
debugger.
This commit allows tests to find the testfiles from the source
directory automatically (as fallback). This is achieved by
creating a file containing the path of the source directory
with CMake. Note that this file can only be found if the working
directory is set to the binary directory (default in Qt Creator).
This causes CMake errors and CMake is acutally right, it makes
no sense because the config header is only available during build
but a header-only lib is not being built.
Previously the case when the dependency of a static library
was provided by a dynamic library has not been handled
correctly leading to linker errors when building the final
application.
* The project directory is part of the include
directives, eg. #include <c++utilities/...
* So the include search path must be one level
above the project directory.
* Add include path of own header files for build
and external use via imported target. Previously
only include dirs required for external libs were
added.
* Using global include dirs is no longer required.
* When PUBLIC_SHARED_INCLUDE_DIRS is empty, adding
"${PUBLIC_SHARED_INCLUDE_DIRS}" to public include dirs
does not leave INTERFACE_INCLUDE_DIRECTORIES property
empty. Instead the source dir is added. So just don't
use quotes here.
* So files generated by moc or qdbusxml2cpp are not
part of coverage statistics
* When filtering files, llvm-cov prints multiple tables
showing coverage on function level.
-> Generate overall coverage stats via awk.
* Prevent warnings about required tools being unavailable
when tidy/coverage targets aren't desired anyways (eg.
when packaging)
* Do not automatically execute tidy check when packaging
in unclean environment
* Append Git revision and ID of latest commit
to version displayed via --help
* Can be turned off via option
* Has no effect if the source dir is not
a Git checkout or Git is not installed
* Implements
https://github.com/Martchus/tageditor/issues/13