Commit Graph

127 Commits

Author SHA1 Message Date
Martchus 27043d2be0 Fix typo in comment 2024-01-30 00:44:54 +01:00
Martchus a1bed55eda Enable tidy tests only by default via `ENABLE_DEVEL_DEFAULTS`
This test is only relevant for development. Additionally, the behavior of
clang-format differs slightly between versions so this can really cause
needlessly failures.
2023-11-22 12:57:59 +01:00
Martchus 05570c5c71 Improve status messages about CXX11-ABI 2023-11-22 12:54:04 +01:00
Martchus c4024ce00e Avoid CMake deprecation warning by bumping version 2023-07-23 21:18:25 +02:00
Martchus 3bec473775 Enable clang-format and cmake-format only by default if present
Enabling both depending on `ENABLE_DEVEL_DEFAULTS` limits the usefulness of
`ENABLE_DEVEL_DEFAULTS` because it can then only be used of both tools are
installed (and especially `cmake-format` might not be installed). It makes
more sense to simply enable those targets depending on whether the tools
are installed or not. If they are explicitly enabled it is still a hard
error if the tools cannot be found.
2023-06-10 16:41:07 +02:00
Martchus c6396f92fc Ignore warnings for use of legacy CRT functions when compiling with MSVC for now
There's no warning about these when compiling for other targets so let's
ignore them for now.
2023-05-07 21:52:06 +02:00
Martchus 2b6f26895d Support multiple source directories in `srcdirref` file
* Locate test files in all source directories specified in `srcdirref`
* Allow overriding contents of `srcdirref` so the directory of another
  component (within the same repository) can be appended to share testfiles
2023-02-27 18:29:31 +01:00
Martchus da830dcef5 Apply clang-format and cmake-format 2023-01-28 20:20:47 +01:00
Martchus b6fa13f8dd Use C++ 20 when compiling with MSVC as it requires it for designated initializers 2023-01-26 22:23:46 +01:00
Martchus c48816b243 Move CMake code for enabling warnings into separate module and function 2022-12-24 23:15:24 +01:00
Martchus e502269d50 Run cmake-format on tests specified via `QT_TESTS` variable 2022-10-16 15:04:38 +02:00
Martchus 3f072549a6 Detect whether GPL license version is "-or-later" automatically 2022-10-13 00:03:04 +02:00
Martchus 804852b95e Do not exclude appstream validation from checks as errors should be handled 2022-10-11 21:03:17 +02:00
Martchus da431580d4 Prevent AppStream validation error `asv-cid-desktopapp-is-not-rdns`
See https://github.com/Martchus/syncthingtray/issues/158
2022-10-11 20:58:21 +02:00
Martchus 4a7a9ec32d Add build system check to validate appstream files
* Exclude new tests from `check` target for now as they are currently
  failing
* See https://github.com/Martchus/syncthingtray/issues/158
2022-10-11 19:25:17 +02:00
Martchus 11574209b3 Add experimental support for generating coverage report via gcc/gcov/lcov 2021-11-01 18:20:51 +01:00
Martchus 37c2b920d0 Remove obsolete check when configuring coverage with Clang
Building shared and static libraries at the same time has been removed as
of version 5 so this message would never be printed and it is not clear
anymore what the actual problem was.
2021-11-01 14:10:22 +01:00
Martchus 5509caff89 Remove unused `META_CONFIG_PREFIX`
This variable was never actually used. I suppose I've been adding it for
places where the config should be added as a prefix. However, this would be
inconsistent and now would also mean a confusing overlap with the
namespacing feature. So let's just remove it.
2021-10-03 23:11:14 +02:00
Martchus 072b7b5136 Apply cmake-format 2021-10-03 23:06:20 +02:00
Hannah Rittich 3730830880 Added namespace for file names 2021-10-02 21:08:10 +02:00
Martchus 1b6ffb561a Fix locating files which are directly under the data dir (and not in the cmake dir) 2021-08-25 19:38:43 +02:00
Martchus 8961cf3a32 Add `META_TIDY_EXCLUDE_REGEX` to exclude files from tidy target
This can be useful to exclude 3rd party files.
2021-08-02 16:49:37 +02:00
Martchus 2de07d4cd0 Consider `*.cc` and `*.hh` files formatable 2021-08-02 16:48:35 +02:00
Martchus b3ebe5ce38 Fix typos found via `codespell --skip .git -w` 2021-07-03 19:07:49 +02:00
Martchus 6d1f242edc Fix typo 2021-06-27 18:51:27 +02:00
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 4fc415ed5a Allow following test output live when building with ninja 2021-03-05 23:03:59 +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 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 6905b1a216 Apply cmake-format 2020-11-25 18:02:24 +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 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 fe5dc5e6a7 Apply cmake-format 0.6.10 2020-04-27 22:59:06 +02: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 4dd2179f19 Fix remaining install dirs to use GNUInstallDirs consistently 2020-02-13 11:32:28 +01:00
Martchus 30878fab07 Prevent duplicated LIB_SUFFIX
Some build system macros might pass CMAKE_INSTALL_LIBDIR/LIB_INSTALL_DIR
and LIB_SUFFIX at the same time. I suppose in this case the LIB_SUFFIX
should not be added if it is already present to avoid `lib6464`.
2020-02-04 17:09:47 +01:00
Martchus fe43824c98 Allow passing LIB_INSTALL_DIR as well
That variable (but not `CMAKE_INSTALL_LIBDIR`) is apparently
passed when building for Fedora with the `%cmake` RPM macro.
2020-02-04 15:30:01 +01:00
Martchus dcb1d896c2 Apply cmake-format 2020-02-04 15:24:13 +01:00
Martchus c97dfbfd4c Use GNUInstallDirs
See https://github.com/Martchus/cpp-utilities/issues/17
2020-02-01 00:01:26 +01:00
Martchus 0b56ecfb04 Run cmake-format individually for each file
Seems like cmake-format 0.6.7 only applies CLI options
to the first file anymore. So in order to have the options
applied to all files and not just the first one just
invoke it for each file individually.
2020-01-26 19:23:18 +01:00