Martchus
bc0d7af67f
Apply cmake-format 0.5.1
...
* Disable autosort as it messes with add_library and
add_executable calls
2019-06-01 12:14:30 +02:00
Martchus
e120a897c5
Add use_package to 3rdParty
2019-05-30 14:04:04 +02:00
Martchus
a865522e67
Use existing TARGET_INCLUDE_DIRECTORY_BUILD_INTERFACE
2019-05-28 17:55:28 +02:00
Martchus
6489cae19e
Apply cmake-format
2019-05-15 15:52:29 +02:00
Martchus
e114b24d3c
Add helper to use pkg-config modules
...
This basically creates imported targets from those
pkg-config modules. It also supports static linkage.
The main effort here is that those imported targets
are also exported appropriately. This is implemented
by letting the config script re-run pkg-config as
required.
2019-05-09 19:27:10 +02:00
Martchus
b4cf641cfd
Fix setting library version
2019-05-07 16:49:19 +02:00
Martchus
a1267f2015
Fix handling undefined INTERFACE_REQUIRED_PACKAGES
2019-05-06 16:22:35 +02:00
Martchus
a17f322f3c
Apply cmake-format
2019-05-04 20:57:56 +02:00
Martchus
1480d9ab63
Support installing multiple configurations within the same prefix
2019-05-04 01:59:45 +02:00
Martchus
8ffe0e6a51
Polish CMake code
2019-04-22 22:19:08 +02:00
Martchus
e9cc26478b
Don't mix building static and shared libraries
2019-04-22 20:42:48 +02:00
Martchus
0bd53c77b5
Query install directory for Qt plugins from qmake
2019-02-27 21:05:23 +01:00
Martchus
86f3bf8b3b
Apply cmake-format
2019-02-06 17:30:52 +01:00
Martchus
22795dac8a
Remove code for Android ECM module
...
Use module provided by qtutilities instead
2018-12-22 02:07:49 +01:00
Martchus
3a65e3ecdd
Adjust CMake modules for better Android support
2018-09-16 00:25:04 +02:00
Martchus
35ebac1cac
Add static-check target for executing clang-tidy
2018-07-27 16:19:16 +02:00
Martchus
6dcd39f1ac
Set CXX_STANDARD on header-only lib target for Qt Creator
2018-06-26 00:05:26 +02:00
Martchus
79679c0f42
Improve fake target for Qt Creator
...
This target is required so files for header-only libs
show up in Qt Creator. So far it was just a custom target.
However, this way include directories and build flags are
not correctly passed to the code model. So creating an
actual library now.
2018-06-24 20:43:08 +02:00
Martchus
6300e37924
Install shared/static config
2018-02-19 19:45:07 +01:00
Martchus
3fcbaf7fff
Split shared and static configuration
2018-02-16 23:56:29 +01:00
Martchus
a67805cb0f
Allow providing a special include dir for build
2018-01-20 20:43:18 +01:00
Martchus
5c6207c6fa
Do not try to strip header only libs
2018-01-20 17:44:14 +01:00
Martchus
a4e7cbd5c3
Make target 'interface_sources_for_qtcreator' unique
2017-11-16 01:59:43 +01:00
Martchus
a7880e3d0c
Remove *.qm files from targets when built-in translations enabled
...
This prevents updating *.ts files twice and in parallel leading to
build errors.
2017-11-02 00:10:06 +01:00
Martchus
a869aa8def
Do not add sources to header-only libs
2017-10-23 01:12:51 +02:00
Martchus
9c8bb44843
Fix mingw-w64 targets
2017-08-31 02:16:05 +02:00
Martchus
b45fe7eaeb
Allow providing a shared lib as dependency for a static lib
...
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.
2017-08-06 00:35:11 +02:00
Martchus
86e12a1164
Fix include dirs for build interface
...
* 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.
2017-08-05 18:41:41 +02:00
Martchus
15bf2779c5
Make pkg-config file for both, dynamic and static target
2017-07-30 00:56:12 +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
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
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
2174dc516a
Allow specifying target compile options via variable
2017-06-18 16:14:45 +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
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
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
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
9087e8da7e
Fix dependency of res file for built-in translations
2017-02-09 16:22:33 +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
722e9ae590
Improve install-mingw-w64-strip target
2016-11-12 02:06:52 +01:00
Martchus
b903adccdb
Provide an imported target for libs
2016-11-12 02:06:52 +01:00
Martchus
77c454b304
Allow exact shared object version
2016-10-22 21:00:33 +02:00
Martchus
73d42c287c
Support desktop actions and other additional desktop entries
2016-10-19 20:59:54 +02:00
Martchus
34cd505bf7
Remove dependencies of install targets
...
Dependencies were preventing installing
static-only builds
2016-09-11 23:10:29 +02:00
Martchus
27d99f0bda
Fix install destination of pkg-config files
2016-09-11 21:00:34 +02:00
Martchus
7be0b15d37
Add strip targets appropriately
2016-09-11 20:32:18 +02:00