Martchus
15bf2779c5
Make pkg-config file for both, dynamic and static target
2017-07-30 00:56:12 +02:00
Martchus
e4709099d2
Prevent error in coverage target when building only static libs
2017-07-28 17:34:28 +02:00
Martchus
c966e3fb1b
Improve finding cppunit
...
* Add include dir
* Make library/include dir configurable via cache variable
2017-07-22 15:33:41 +02:00
Martchus
36b2498dd6
Allow disabling install targets
...
Might be useful if install targets cause
problems, eg. under MacOS
2017-07-20 01:43:10 +02:00
Martchus
326551ee02
Allow to force use of external iconv
2017-07-20 01:25:13 +02:00
Martchus
73f11eeb2a
detecting 3rdparty libs: Fix overriding cache variables
2017-07-20 01:24:35 +02:00
Martchus
942c14ce3d
Fix target include dirs
...
* 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.
2017-07-11 22:02:27 +02:00
Martchus
28f76db46e
Add install target for 'extra-files'
...
So additional files like tests/calculateoverallcoverage.awk
and coding-style.clang-format are installed and can be used
by other projects, too.
2017-07-11 19:34:38 +02:00
Martchus
442f7a9b25
Exclude generated files from coverage
...
* 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.
2017-07-09 23:38:11 +02:00
Martchus
6f146072ea
Allow overriding 3rd party libs/includes
...
So passwordfile can be told to use legacy OpenSSL
header in accordance with Qt 5 which still requires
OpenSSL 1.0
2017-07-04 22:44:32 +02:00
Martchus
a4fc4024b5
Make tidy and coverage optional and disabled by default
...
* 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
2017-06-20 23:38:45 +02:00
Martchus
57d5d04d9f
Merge prof data of subprocesses created when executing tests
...
So coverage is accounted correctly when tests create subprocesses
of the application to be tested using execApp().
2017-06-20 23:19:49 +02:00
Martchus
1e14b09e64
Fix passing application path to tests
2017-06-19 14:15:44 +02:00
Martchus
64572e6860
Add general coverage target
2017-06-19 14:01:33 +02:00
Martchus
6807d899d2
Enable source code based coverage analysis
2017-06-18 16:17:44 +02:00
Martchus
2174dc516a
Allow specifying target compile options via variable
2017-06-18 16:14:45 +02:00
Martchus
5e67a9b691
Make check target depend on .clang-format file
2017-06-01 18:24:14 +02:00
Martchus
ecce539a18
Do not set global include dirs
...
TODO: Set include dirs on target level
2017-05-24 23:29:17 +02:00
Martchus
ac348ee3b9
Find cppunit via pkg-config
2017-05-23 00:49:45 +02:00
Martchus
13ac2305d5
Allow not to link tests against cppunit
2017-05-23 00:10:27 +02:00
Martchus
04c1f98361
Format test code, too
2017-05-02 23:31:12 +02:00
Martchus
7e49d3994f
Allow skipping creation of tidy target
2017-05-01 03:03:20 +02:00
Martchus
2ef55c439c
Add tidy test
2017-05-01 02:57:58 +02:00
Martchus
7e0f65ed78
Call clang-format with all src files
2017-05-01 02:57:58 +02:00
Martchus
b74327d961
Move creation of check target to BasicConfig.cmake
...
* So other tests like tidy check can be added
* Even if there are no tests after all, the
check target shoudn't cause any problems
2017-05-01 02:57:58 +02:00
Martchus
8799698f01
Adapt global.h.in to new coding style
2017-05-01 02:57:58 +02:00
Martchus
d76ead0483
Add tidy target using clang-format
2017-05-01 02:57:58 +02:00
Martchus
ead0fadac3
Unset version info when not available
2017-04-15 23:33:52 +02:00
Martchus
6042336038
Allow checking whether external lib is used
2017-04-15 23:20:27 +02:00
Martchus
b8c2e79e3d
Use meta-data provided in CMake config for version info
...
* Don't set custom meta-data on targets
* It isn't exported anyways
* Remove version on application target because itcauses
CMake to create symlinks
2017-04-15 23:02:41 +02:00
Martchus
be03e5ad4c
Provide meta-data in CMake config
2017-04-15 22:39:41 +02:00
Martchus
412e725309
Append Git revision to version
...
* 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
2017-04-15 01:45:03 +02:00
Martchus
91e5a8b0b0
Show version of used libraries in --help
...
* Include only own libraries and Qt 5 modules
so far
* First step to implement
https://github.com/Martchus/tageditor/issues/13
2017-04-15 01:10:38 +02:00
Martchus
bfa12a9870
Allow creation of header-only library
...
* Create interface target if only headers present
* Include workaround to show header files in Qt Creator
2017-04-14 23:30:46 +02:00
Martchus
2e0df8aa6a
Allow linking only tests in 3rdParty macros
...
So tagparser tests can link against OpenSSL
for computing checksums
2017-04-08 18:29:21 +02:00
Martchus
f86a8b3700
Fix adding dependencies of install-mingw-w64 target
2017-04-04 01:01:03 +02:00
Martchus
cb82630665
Add general target for generating API doc
2017-04-04 01:00:17 +02:00
Martchus
663b31c5fe
Allow skipping install targets
...
* via variable META_NO_INSTALL_TARGETS
* since this is just to silence some warnings
no need to bump minor version
2017-04-01 16:18:32 +02:00
Martchus
daaedb7ba3
Fix issues in TestTarget.cmake
...
* Fix error message
* Improve comments
* Improve target names
* Fix working directory for check target
* Add info that calling enable_testing() on root
level is required for check target to work
* Create workingdir for tests under binary dir to
prevent polluting source dir
2017-03-27 22:12:20 +02:00
Martchus
7b100010c2
Fix error message in ConfigHeader.cmake
2017-03-27 22:07:36 +02:00
Martchus
2965f0cd00
Improve testing applications
...
When LINK_TESTS_AGAINST_APP_TARGET set, create a
library in addition to the application so tests can
link against it to check particular functions. This
replaces the current approach of linking against the
application directly which lead to linker errors.
2017-03-27 11:15:14 +02:00
Martchus
fdbe874bcd
Allow to disable excluding tests from all target
2017-03-23 20:31:57 +01:00
Martchus
675b49f95c
Add all doc files (not only first one)
2017-03-12 19:47:53 +01:00
Martchus
88196b8076
Allow creation of plugins via LibraryTarget
2017-02-20 20:03:16 +01:00
Martchus
64cc931555
Improve CMake modules
2017-02-11 02:30:46 +01:00
Martchus
789b9e9184
Add macro to auto init resources of static deps
...
The actual generation of the macro code is done
in qtutilities
2017-02-11 02:03:02 +01:00
Martchus
9087e8da7e
Fix dependency of res file for built-in translations
2017-02-09 16:22:33 +01:00
Martchus
96c4e24b6c
Require C++14
2017-02-05 19:19:59 +01:00
Martchus
cb3b50c28c
Allow overriding default CXX_STANDARD
...
to ease using newer C++ features in further
projects without setting the standard manually
for each target
2017-02-04 17:44:46 +01:00
Martchus
f23c381da4
Support dylib extension used under macOS
2017-01-15 17:44:23 +01:00