Commit Graph

1163 Commits

Author SHA1 Message Date
Martchus d8605b50b0 Ensure `chars_format` is defined for older versions of libstdc++
Versions older than 10 don't even define this enum class. Note that libc++
always seems to define it even though it doesn't implement the FP overloads
at all at this point.

By the way, this means the minimum GCC version is 8 and the minimum libc++
version is 7 because for this code to work the `charconv` header still
needs to be present at all.
2023-12-11 19:59:46 +01:00
Martchus 1264a7e9c5 Remove no longer used include in `chrono/timespan.cpp` 2023-12-08 16:24:04 +01:00
Martchus b8dff49c01 Add missing include for `std::array`
See https://github.com/Martchus/cpp-utilities/issues/29
2023-12-07 10:44:27 +01:00
Martchus dd0ea1d348 Use workaround for unavailable `std::from_chars()` also under older libstdc++ versions 2023-12-06 22:34:33 +01:00
Martchus 21f32d318b Bump patch version 2023-12-06 22:32:28 +01:00
Martchus 8d460380f1 Apply cmake-format 2023-12-05 11:42:42 +01:00
Martchus fbb1d73779 Apply clang-format 2023-12-05 11:42:26 +01:00
Martchus 35f56d486c Fix enabling AppStream tests 2023-11-30 19:44:08 +01:00
Martchus 9d8f897972 Add presets for compiling with clang++ and libc++ 2023-11-25 23:18:50 +01:00
Martchus 55146db7e1 Add workaround for missing FP overload for `std::from_chars()` in libc++ 2023-11-25 23:18:30 +01:00
Martchus fdfe8f154c Fix warnings in code of `TimeSpan::fromString()` 2023-11-25 23:15:29 +01:00
Martchus b1f89d78c3 Allow building without CppUnit-based tests 2023-11-25 23:14:36 +01:00
Martchus 3649782c8c Update README section about dependencies 2023-11-23 20:29:43 +01:00
Martchus 905f81c8b7 Improve remark in README about disabling native file buffer 2023-11-23 20:26:14 +01:00
Martchus 7bed9cd38c Remove TODOs about parsing/printing custom formats
It makes likely more sense to implement that entirely in user code. The
parsing/printing functions for common formats have also been improved so
this is likely not very relevant anymore anyways.
2023-11-23 20:24:44 +01:00
Martchus 11de58141b Support units in `TimeSpan::fromString()` 2023-11-23 20:20:07 +01:00
Martchus a425363eac Improve `TimeSpan::fromString()`
* Avoid heap allocation and counting separators
* Avoid code repetition
* Throw an exception if too many parts are present (as the documentation
  suggests this function would do)
* Allow emptry separators as this seems useful
2023-11-23 18:48:48 +01:00
Martchus 8fb7de6fe0 Enable AppStream tests only by default via `ENABLE_DEVEL_DEFAULTS`
This test already fails on deprecations so it is likely not a good idea to
run it in general as it would cause needless failures.
2023-11-22 12:59:40 +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 cc6576c417 Bump patch version 2023-11-22 12:51:07 +01:00
Martchus ac35a5fad1 Fix a few Doxygen warnings 2023-11-18 22:32:04 +01:00
Martchus 762131acf9 Fix AppStream validation tests 2023-11-14 02:14:26 +01:00
Martchus cded82a00b Move use of `KDE_INSTALL_DIR` from `debug-kde` into new preset `debug-kde-custom` 2023-11-14 00:02:50 +01:00
Martchus a2f9748c1a Apply clang-format 2023-11-14 00:01:27 +01:00
Martchus 938e441336 Extend documentation of the BitReader class
I asked ChatGPT to write documentation for this class and got this. It is
too hilarious to not copy it here verbatimly.
2023-11-02 16:48:00 +01:00
Martchus b2d4d0be01 Enable _FORTIFY_SOURCE=3 in mingw-w64 preset
In accordance with the mingw-w64-environment package
2023-10-30 20:22:02 +01:00
Martchus ff33454bf1 Skip rpath in arch-static-compat presets
It should not be required to load dynamic libraries that
are not already in standard paths with these builds and
loading libraries from the static-compat prefix should be
avoided.
2023-10-27 20:46:19 +02:00
Martchus aa298772c9 Adjust arch-static-compat preset for PianoBooster 2023-10-27 20:20:45 +02:00
Martchus 7dff72d0bd Apply cmake-format 2023-10-15 16:57:29 +02:00
Martchus 938da48da0 Skip configuration of tests unless `BUILD_TESTING` is set
See https://github.com/Martchus/tagparser/issues/26
and https://cmake.org/cmake/help/latest/module/CTest.html
2023-09-16 22:01:32 +02:00
Martchus c71f835ad0 Bump patch version 2023-09-16 22:01:32 +02:00
Martchus 053ac7e1ad Disable KDE integrations in `devel-qt6` preset, enable then only in `debug-kde`
Since the required KDE packages haven't been released yet it makes sense to
avoid enabling them for now in the generic preset for Qt 6.
2023-09-04 20:29:10 +02:00
Martchus 035a448da0 Avoid clazy warning about `decodeBase64`
The warning is about invalid memory usage within the loop in
case `strSize` is zero. It is supposedly not correct because
then the loop would never be entered anyways in that case.
However, it is likely nevertheless a good idea to silence the
warning.
2023-09-01 17:21:18 +02:00
Martchus 8d28ab70b3 Use `std::` consistently in `decodeBase64` 2023-09-01 17:18:39 +02:00
Martchus 132d25fbb1 Apply clang-format 2023-08-20 20:29:54 +02:00
Martchus 0349037711 Fix passing non-ASCII arguments in `execApp()` under Windows 2023-08-19 00:11:06 +02:00
Martchus af200403de Support `execApp()` test helper under Windows as well via Boost.Process 2023-08-18 22:57:54 +02:00
Martchus 18d92fee40 Fix typo in CLI wrapper code 2023-08-18 22:55:42 +02:00
Martchus 3bca5c224d Document how to build/install projects individually under Windows 2023-08-18 12:04:26 +02:00
Martchus 6660ff7eca Improve section about building on Windows via MSYS2
* Make it clear where to find the "Building this straight" section
* Give more details about reducing the list of dependencies to be
  installed
2023-08-17 00:15:22 +02:00
Martchus 2137568ad8 Remove debugging leftover in IO tests 2023-08-09 01:26:23 +02:00
Martchus 6a8431da0a Fix missing closing bracket in README 2023-08-09 01:25:55 +02:00
Martchus c4024ce00e Avoid CMake deprecation warning by bumping version 2023-07-23 21:18:25 +02:00
Martchus 7bcc66be0d Avoid warning "current scope has no parent" 2023-07-06 00:50:45 +02:00
Martchus 5ebbd0eb3f Improve logic for finding CppUnit
* Avoid forcefully setting cache variables; use a normal variable
  instead
* Use the imported target generated from the pkg-config which hopefully
  works better than using the variables directly
* Avoid warning when the find module was used; this is the case for
  vcpkg and there the provided CppUnit library is good enough
2023-07-05 14:18:32 +02:00
Martchus 04682d4601 Bump patch version 2023-07-05 14:17:59 +02:00
Martchus 6826546196 Improve documentation for namespace/config build variables
See https://github.com/Martchus/cpp-utilities/issues/25
2023-06-21 12:16:13 +02:00
Martchus 08a1c5c2eb Close output stream in IO tests before re-opening 2023-06-20 14:03:36 +02:00
Martchus 9191117120 Fix binary conversion functions for big endian systems
The code was broken on big endian systems by
07e9546855. When doing an explicit swap
one must distinguish the endianness the code runs on.
2023-06-20 14:03:36 +02:00