Martchus
6d5045c2b1
Port away from deprecated WriteCompilerDetectionHeader module
1 year ago
Martchus
b22a600e77
Fix broken code in ArgumentParser::printBashCompletion() leading to crashes
...
See https://github.com/Martchus/cpp-utilities/issues/19#issuecomment-839758443
1 year ago
Martchus
f549285fde
Fix splitString()/splitStringSimple() for case of empty trailing part
1 year ago
Martchus
0fb533ffc5
Format attempted test file/dir lookups more nicely in the error case
1 year ago
Martchus
f30947cc75
Fix plural of parameter
1 year ago
Martchus
e2a7d807a3
Disable warnings about unused const variables
...
as these are usually just used in another compile unit
1 year ago
Martchus
b43de126b9
Retain source compatibility of numberToString()/stringToNumber()
...
IntegralType and BaseType need to be kept different types, otherwise one
runs into deduction errors if both arguments have different types (which is
quite likely in practise). Since the base is always a small positive
integer the cast should always be safe.
1 year ago
Martchus
a30ba0c147
Ensure still the right stringToNumber() overload is called for char arrays
1 year ago
Martchus
42132719e5
Remove comments about std::expected (which didn't even make it into C++20)
1 year ago
Martchus
9c532cbdd9
Ignore unknown warning options
1 year ago
Martchus
8c033ca243
Fix warnings
1 year ago
Martchus
d38a9bb776
Disable/weaken a few warnings again which don't seem to be very usefull after all
1 year ago
Martchus
f5aeeb77aa
Add CMake variable to enable defaults useful for development
1 year ago
Martchus
5b8520d50c
Add CMake variables to conveniently enable warnings and treat them as errors
1 year ago
Martchus
cd43879390
Remove uses of USES_TERMINAL without COMMAND again as it is not possible
1 year ago
Martchus
3c8eb5a333
Apply clang-format
1 year ago
Martchus
4fc415ed5a
Allow following test output live when building with ninja
1 year ago
Martchus
cc63c8c250
Improve parameter-passing in some string conversion functions
...
* Allow using a range as input of joinStrings()
* Use `std::string_view` instead of `const std::string &` to pass read-only
parameters to joinStrings() and splitString*() to avoid constructing an
`std::string` from `const char *` parameters
* Use auto for return types of toMultiline() and toArrayOfLines()
* Does not affect BC because those are template functions
* Should not affect source compatibility; at least uses in my main projects
seem to be unaffected
1 year ago
Martchus
6968716d5c
Avoid using substr in splitString()/splitStringSimple()
1 year ago
Martchus
27e9761f63
Adjust conditions for C++20 for g++
2 years ago
Martchus
c61a1784ec
Allow using splitStringSimple() with `std::unordered_set` in C++20
...
* So one could use e.g. `std::unordered_set<std::string_view>` as target
container when splitting an `std::string_view`.
* Still an experimental feature
2 years ago
Martchus
d1e3a28277
Apply cmake-format
2 years ago
Martchus
cabcc11d3e
Incorporate extra target suffix used when targeting MinGW in pkg-config file
2 years ago
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`.
2 years ago
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`.
2 years ago
Martchus
b1b0c10366
Prevent reading library properties from interface library targets
2 years ago
Martchus
566d1cc42a
Bump patch version
2 years ago
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.
2 years ago
Martchus
27c8a17f99
Allow enforcing absence of a target suffix for Syncthing Tray's test helper
2 years ago
Martchus
47f7252bc0
Remove leftover message from debugging
2 years ago
Martchus
7ad2a9818d
Support target suffix when generating the dependency list for the config header
2 years ago
Martchus
a5d2aa15e0
Support Qt 6 modules when generating the dependency list for the config header
2 years ago
Martchus
f109d36ad2
Add Argument::firstValueOr() for conveniently accessing the first value with a fallback
2 years ago
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.
2 years ago
Martchus
293b18b607
Mark destructor of NativeFileStream as override
2 years ago
Martchus
80d2823915
Add PROJECT_CONFIG_SUFFIX to the config header
2 years ago
Martchus
9e940a7858
Add helper to modify a flag enum
2 years ago
Martchus
6905b1a216
Apply cmake-format
2 years ago
Martchus
70f827c78e
Apply clang-format
2 years ago
Martchus
28b924fe30
Document API/ABI stability
2 years ago
Martchus
ee96e03043
Mark formattedPhraseString() as experimental
2 years ago
Martchus
df126ab51c
Use std::size_t consistently
2 years ago
Martchus
c6095fbaf8
Add formattedPhraseString()
2 years ago
Martchus
a40ee3aa7e
Use query_qmake_variable_path if available
2 years ago
Martchus
685fbdb78e
Document BUILTIN_TRANSLATIONS_OF_QT
2 years ago
Martchus
b84a8fb5e5
Document META_QT_VERSION variable
2 years ago
Martchus
f9c93baeab
Improve build variables documentation
2 years ago
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).
2 years ago
Martchus
e6f4bf3561
Apply clang-format
2 years ago
Martchus
1f4fabcd9f
Add operators '*' and '/' to TimeSpan
2 years ago