Martchus
1f4fabcd9f
Add operators '*' and '/' to TimeSpan
2 years ago
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.
2 years ago
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
2 years ago
Martchus
98e6f360af
Apply cmake-format
2 years ago
Martchus
dd41762b70
Add testDirPath() for finding directories with test files
...
The same as testFilePath(), just for directories.
2 years ago
Martchus
0b267c7959
Avoid duplicating the "lib" prefix
...
if the target name already starts with "lib"
2 years ago
Martchus
a26f3d7e1a
Avoid instantiating an std::string for find and replace parameters
...
This overloads should allow passing an std::string_view or C-string to
findAndReplace() without instantiating an std::string.
2 years ago
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.
2 years ago
Martchus
6f6c2e607f
Reformat CMakeLists.txt with cmake-format 0.6.11
3 years ago
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
3 years ago
Martchus
7dab98b257
Use a higher resolution for Windows icons for better High-DPI support
3 years ago
Martchus
b363498f53
Allow specifying return type in joinStrings()
...
for joining an std::string from an std::vector<std::string_view>.
3 years ago
Martchus
84011c2768
Apply CMake format
3 years ago
Martchus
07e5752af8
Provide "End" phrases within phraseString()
3 years ago
Martchus
d0076e24a7
Get rid of WINDOWS_EXT completely as it is now no longer used
3 years ago
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.
3 years ago
Martchus
47850ace49
Remove leftovers from _run target
...
See c66420b1dc
3 years ago
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
3 years ago
Martchus
6ed057b932
Add BinaryWriter::write overload for std::string_view
3 years ago
Martchus
63b5fb9c14
Add PROJECT_VARNAME and PROJECT_VARNAME_UPPER to config header
3 years ago
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.
3 years ago
Martchus
f24f09f79a
Fix setting test properties for coverage when special target name configured
3 years ago
Martchus
9d59ab5c29
Fix Traits::IsSpecializationOf for references
...
This check is also supposed to work for references so use the same approach
as for ignoring cv qualifiers.
3 years ago
Martchus
74b010cbb9
Make manually added test targets as part of the check target
3 years ago
Martchus
940593429a
Allow ArgumentParserTests to pass when working dir present within testfiles dir
3 years ago
Martchus
a9453483a7
Allow adding test targets manually
3 years ago
Martchus
52722be407
Add test helper execHelperAppInSearchPath()
3 years ago
Martchus
2ecc0adceb
Add TODO for AdvancedIniFile
3 years ago
Martchus
5dbcd1b391
Update README.md
3 years ago
Martchus
668b149647
Initialize AdvancedIniFile::Field by default with IniFileFieldFlags::HasValue
...
The case that there's no equal sign is rather odd so don't make it the default.
3 years ago
Martchus
26b0d2d97c
Avoid some test classes to show up in the documentation
3 years ago
Martchus
43550b6d55
Add AdvancedIniFile for better preserving certain aspects like comments
3 years ago
Martchus
fe5dc5e6a7
Apply cmake-format 0.6.10
3 years ago
Martchus
1c6315a078
Add opt-outs for additional linker flags to achieve a fully statically linked build
...
See https://github.com/Martchus/syncthingtray/issues/64
3 years ago
Martchus
32780ed6a6
Support formatting ISO timestamps via DateTime::toString() with option to omit defaults
...
Omitting components are also allowed when parsing ISO timestamps so it makes sense to
have something similar in the other direction as well.
Note that the idea comes from ID3v2.4.0 which stores timestamps in a subset of ISO 8601
similarily to what this library supports and it allows to omit default components as
well.
3 years ago
Martchus
c834f8923d
Allow omitting month and day when parsing ISO date
...
This leaves only the year as mandatory component (other components
can already be omitted).
3 years ago
Martchus
73470d0b65
Fix DateTime::fromDateAndTime() for the day 0001-01-01
3 years ago
Martchus
3fe1ea64cf
Improve documentation of some test utilities
3 years ago
Martchus
5340a8b6ec
Fix wording in README
...
Before it sounded like the library would *use* (and not provide) these
features.
3 years ago
Martchus
34170b83f1
Apply clang-format
3 years ago
Martchus
06e29dd751
test utils: Use /proc/self/exe to find srcdirref, at least where supported
...
So it also works if e.g. chdir() is called before instantiating
the TestApplication.
3 years ago
Martchus
4b67736adf
Add DateTime::toIsoStringWithCustomDelimiters()
3 years ago
Martchus
9fe7053869
Print "Executing test" via cppunit.h
...
Otherwise it is a bit annoying if one just wants to instantiate
a TestApplication for looking up test files.
3 years ago
Martchus
e1313c77a0
Add test for fileName() without parent directories
3 years ago
Martchus
53b4cbd8e9
Make fake Qt arguments operations
3 years ago
Martchus
08bfdeed5e
Document missing features / caveats of IniFile class
3 years ago
Martchus
6273b42643
Fix remaining hard-coded install dirs
...
See https://github.com/Martchus/cpp-utilities/issues/17#issuecomment-596420331
3 years ago
Martchus
e241d718ce
Apply cmake-format
3 years ago
Martchus
e94d42f19c
Support passing absolute path to CMAKE_INSTALL_BINDIR/LIBDIR
...
Same as b2a2773
but for CMAKE_INSTALL_BINDIR and CMAKE_INSTALL_LIBDIR.
3 years ago
Martchus
a7564b8dde
Add TESTUTILS_ASSERT_LIKE_FLAGS to pass regex flags
3 years ago