Martchus
7cea979261
Remove obsolete comment about ios_base::failure and new ABI
2021-05-13 16:23:10 +02:00
Martchus
6d5045c2b1
Port away from deprecated WriteCompilerDetectionHeader module
2021-05-13 15:49:53 +02:00
Martchus
e2a7d807a3
Disable warnings about unused const variables
...
as these are usually just used in another compile unit
2021-03-22 13:45:16 +01:00
Martchus
9c532cbdd9
Ignore unknown warning options
2021-03-20 21:57:09 +01:00
Martchus
d38a9bb776
Disable/weaken a few warnings again which don't seem to be very usefull after all
2021-03-20 20:58:28 +01:00
Martchus
f5aeeb77aa
Add CMake variable to enable defaults useful for development
2021-03-18 00:39:04 +01:00
Martchus
5b8520d50c
Add CMake variables to conveniently enable warnings and treat them as errors
2021-03-18 00:25:00 +01:00
Martchus
cd43879390
Remove uses of USES_TERMINAL without COMMAND again as it is not possible
2021-03-17 21:27:21 +01:00
Martchus
4fc415ed5a
Allow following test output live when building with ninja
2021-03-05 23:03:59 +01:00
Martchus
d1e3a28277
Apply cmake-format
2021-01-08 00:51:49 +01:00
Martchus
cabcc11d3e
Incorporate extra target suffix used when targeting MinGW in pkg-config file
2021-01-08 00:43:51 +01:00
Martchus
7fb2a9ed73
Avoid duplicating the `lib` prefix in the pkg-config file
...
This is in accordance with omitting the `lib` prefix of the target if the
project name already starts with `lib`.
2021-01-08 00:39:08 +01:00
Martchus
0be639ea97
Use `-lfoo` form in pkg-config file if dependency doesn't look like a path
...
So e.g. `-lpthread` is added to the pkg-config file instead of just
`pthread`.
2021-01-08 00:37:14 +01:00
Martchus
b1b0c10366
Prevent reading library properties from interface library targets
2021-01-07 20:06:12 +01:00
Martchus
9fb3bbe179
Export a target for using only headers of a library
...
Some backend libraries of Syncthing Tray and Reflective RapidJSON only use
certain headers of qtutilities/c++utilities. The current solution did not
really work because it did not distinguish between the build and install
interface and also did not take compile definitions and options into
account.
2021-01-01 18:42:22 +01:00
Martchus
27c8a17f99
Allow enforcing absence of a target suffix for Syncthing Tray's test helper
2021-01-01 18:38:09 +01:00
Martchus
47f7252bc0
Remove leftover message from debugging
2021-01-01 18:35:49 +01:00
Martchus
7ad2a9818d
Support target suffix when generating the dependency list for the config header
2021-01-01 18:34:43 +01:00
Martchus
a5d2aa15e0
Support Qt 6 modules when generating the dependency list for the config header
2021-01-01 18:32:27 +01:00
Martchus
8a9d72bee9
Disable linking against default Qt plugins
...
This change would obviously better go into qtutilities. However, it is
easier done here and doesn't pull in any dependency on Qt anyways.
2020-12-20 17:53:37 +01:00
Martchus
80d2823915
Add PROJECT_CONFIG_SUFFIX to the config header
2020-12-14 20:57:05 +01:00
Martchus
6905b1a216
Apply cmake-format
2020-11-25 18:02:24 +01:00
Martchus
a40ee3aa7e
Use query_qmake_variable_path if available
2020-11-11 18:51:50 +01:00
Martchus
e5989dd4d1
Allow setting a display name for the configuration
...
This also allow to clear the display name because it isn't always nice to
incorporate it within the application name (e.g. static Windows builds).
2020-11-02 23:26:37 +01:00
Martchus
3a8ae77477
Improve handling configuration suffix
...
* Use configuration suffix when installing icons
* Include configuration name suffix in application name
This way differently configured versions of the same applications should be
co-installable within the same prefix. That is useful to install the Qt 6
version of an application alongside the Qt 5 version.
2020-10-23 16:58:41 +02:00
Martchus
e2f170ddd5
Fix install-mingw-w64-strip (and underlying targets)
...
* Fix escaping issues with Ninja
* Use `$<TARGET_LINKER_FILE_NAME:tgt>` to avoid hard-coding
library extensions
2020-10-10 16:45:58 +02:00
Martchus
98e6f360af
Apply cmake-format
2020-10-10 01:07:06 +02:00
Martchus
0b267c7959
Avoid duplicating the "lib" prefix
...
if the target name already starts with "lib"
2020-09-23 22:48:28 +02:00
Martchus
26b6ef0486
Avoid 'not a git repository (or any of the parent directories)' during configuration
...
Try to append the Git revision only if the source directory is actually a
Git checkout.
2020-09-12 22:24:45 +02:00
Martchus
60d9a80b6a
Improve icon generation
...
* Remove PNG_ICON_CROP
* Not sure how that was supposed to be useful because even for projects
without PNG_ICON_NO_CROP it does not make much sense
* Test multiple sizes to determine the PNG path automatically
* Locate PNG in basic config so the path is also automatically determined
for the macOS bundle as well
* Log status message when ffmpeg/png2icns are not available
* Format CMake code more nicely
2020-08-11 23:12:17 +02:00
Martchus
7dab98b257
Use a higher resolution for Windows icons for better High-DPI support
2020-08-05 18:21:52 +02:00
Martchus
84011c2768
Apply CMake format
2020-07-07 12:14:05 +02:00
Martchus
d0076e24a7
Get rid of WINDOWS_EXT completely as it is now no longer used
2020-07-04 15:21:55 +02:00
Martchus
534aaf0b4d
Fix 'OriginalFilename' in Windows RC file
...
Rely on generator expressions to get the correct filename. This has never
worked because WINDOWS_EXT was usually only set after WindowsResources has
been included.
2020-07-04 15:21:20 +02:00
Martchus
47850ace49
Remove leftovers from _run target
...
See c66420b1dc
2020-07-04 15:14:14 +02:00
Martchus
b03332f37a
Add "SOVERSION" as suffix to shared libraries for mingw-w64 targets
...
* Also enable the "lib" prefix which CMake would add by default again; it
has only been removed to preserve compatibility with qmake when switching
from qmake to CMake
* None of these changes are enabled by default to preserve compatibility
2020-07-04 14:43:26 +02:00
Martchus
63b5fb9c14
Add PROJECT_VARNAME and PROJECT_VARNAME_UPPER to config header
2020-06-23 02:06:29 +02:00
Martchus
942044ea30
Make cache variable doc string compatible with Qt Creator
...
The double quotes need to be removed from the doc string. Otherwise, Qt
Creator creates a line like
```
set("EXCLUDE_TESTS_FROM_ALL" "OFF" CACHE "BOOL" "specifies whether to exclude tests from the "all" target (enabled by default)" FORCE)
```
in its `qtcsettings.cmake` which doesn't work because the escaping is
missing.
2020-06-22 22:29:21 +02:00
Martchus
f24f09f79a
Fix setting test properties for coverage when special target name configured
2020-06-22 22:26:17 +02:00
Martchus
74b010cbb9
Make manually added test targets as part of the check target
2020-06-16 01:09:39 +02:00
Martchus
a9453483a7
Allow adding test targets manually
2020-06-15 22:28:19 +02:00
Martchus
fe5dc5e6a7
Apply cmake-format 0.6.10
2020-04-27 22:59:06 +02:00
Martchus
1c6315a078
Add opt-outs for additional linker flags to achieve a fully statically linked build
...
See https://github.com/Martchus/syncthingtray/issues/64
2020-04-27 22:55:06 +02:00
Martchus
6273b42643
Fix remaining hard-coded install dirs
...
See https://github.com/Martchus/cpp-utilities/issues/17#issuecomment-596420331
2020-03-09 10:45:20 +01:00
Martchus
e241d718ce
Apply cmake-format
2020-03-05 19:05:33 +01:00
Martchus
e94d42f19c
Support passing absolute path to CMAKE_INSTALL_BINDIR/LIBDIR
...
Same as b2a2773
but for CMAKE_INSTALL_BINDIR and CMAKE_INSTALL_LIBDIR.
2020-03-05 14:52:52 +01:00
Martchus
0733f0705d
Check one more parent level for LICENSE file
...
Hack to fix license auto-detection for Plasmoid
2020-02-14 22:30:10 +01:00
Martchus
2b3adc3a6f
Don't prefix CMAKE_INSTALL_DATAROOTDIR; it might be absolute
...
Same as https://github.com/Martchus/cpp-utilities/issues/18 but for
the share directory.
2020-02-14 22:29:07 +01:00
Martchus
e9803a41dc
Fix inconsistent variables for compile options/definitions
...
So these options/definitions should no longer be missing in some
places, e.g. the pkg-config file.
2020-02-14 13:22:47 +01:00
Martchus
4dd2179f19
Fix remaining install dirs to use GNUInstallDirs consistently
2020-02-13 11:32:28 +01:00