Commit Graph

177 Commits

Author SHA1 Message Date
Martchus c6095fbaf8 Add –formattedPhraseString() 2020-11-18 00:37:43 +01:00
Martchus b84a8fb5e5 Document META_QT_VERSION variable 2020-11-07 21:40:04 +01:00
Martchus 1f4fabcd9f Add operators '*' and '/' to TimeSpan 2020-10-24 22:10:25 +02: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 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.
2020-09-19 15:40:32 +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 6f6c2e607f Reformat CMakeLists.txt with cmake-format 0.6.11 2020-08-11 23:13:09 +02:00
Martchus b363498f53 Allow specifying return type in joinStrings()
for joining an std::string from an std::vector<std::string_view>.
2020-07-25 22:53:46 +02:00
Martchus a9453483a7 Allow adding test targets manually 2020-06-15 22:28:19 +02:00
Martchus 52722be407 Add test helper execHelperAppInSearchPath() 2020-06-10 18:42:50 +02:00
Martchus 5dbcd1b391 Update README.md 2020-06-04 20:49:02 +02:00
Martchus 4b67736adf Add DateTime::toIsoStringWithCustomDelimiters() 2020-04-11 21:51:52 +02:00
Martchus 53b4cbd8e9 Make fake Qt arguments operations 2020-04-05 21:40:01 +02:00
Martchus 7204bc6f06 Support using string builder with types convertible to target string type
So e.g. std::filesystem::path can be used to build an std::string.
2020-02-13 17:05:46 +01:00
Martchus 115133b7a5 Use target name for bash completion file
Otherwise it doesn't seem to be sourced automatically
2020-02-10 17:15:32 +01:00
Martchus f5e275288d Reformat CMake files with cmake-format 0.6.7 2020-01-26 19:24:04 +01:00
Martchus 5020214498 Add function to get string representation of phrase 2020-01-14 21:27:46 +01:00
Martchus 9d8135bfd7 Require CMake 3.3.0 in all modules 2020-01-10 18:01:13 +01:00
Martchus 8e6854985f Mention CMAKE_<LANG>_CLANG_TIDY in buildvariables doc 2020-01-10 17:57:42 +01:00
Martchus 6376819c07 Apply cmake-format v0.6.0 2019-11-30 17:58:01 +01:00
Martchus 9a95db3773 Add BinaryReader::readRemainingBytes() 2019-10-30 20:29:26 +01:00
Martchus a841d764d5 Use override in test fixtures 2019-10-13 18:27:41 +02:00
Martchus 43d2d280e1 Fix Bash completion for dirs when not using actual dir 2019-09-04 18:26:37 +02:00
Martchus 014127e4c4 Enable NativeFileStream under Linux by default
It is supposed to work and libstdc++'s __gnu_cxx::stdio_filebuf is
available anyways. Maybe sendfile() can be used at some point with
this to speed up Tag Editor.
2019-08-14 01:15:21 +02:00
Martchus e8d829cadd Add helper to ease creation of flag enums
Not sure whether this is the best way, especially the regarding
the namespacing - hence still experimental
2019-08-12 20:21:53 +02:00
Martchus 99bc257755 Apply cmake-format 2019-08-06 00:02:38 +02:00
Chih-Hsuan Yen 5f65ca43fa
Fix building on Mac OS X/macOS
Without project(), compiler flags like -std=gnu++17 are not applied
for non-Apple clang on Mac OS X/macOS.
2019-07-20 23:11:02 +08:00
Martchus 1be20da35a Make use of std::filesystem optional
It is not available under Android yet and only used for
Bash completion. So make it optional to support Android by
disabling that part of the Bash completion which is not
useful under Android anyways.
2019-07-02 18:40:25 +02:00
Martchus 5efb1b4710 Install the version template 2019-06-16 18:23:42 +02:00
Martchus 76b24ceae8 Enable NativeFileStream by default under Windows and Android
* Under Windows is is required to open files which path contains
  non-ASCII characters.
* Under Android it is useful to use open "content://" URLs with
  standard streams.
2019-06-16 18:11:30 +02:00
Martchus e18731d438 Remove polyfill for std::make_unique 2019-06-10 16:15:48 +02:00
Martchus 4c1b733290 Rework ArgumentParser::parseArgs()
* Remove "ext()" and "orExit()" versions
* Exit by default (might be intrusive but it is the most
  common use)
* Rename Failure to ParseError
2019-06-10 16:03:27 +02:00
Martchus d9b4ca5381 Fix build when not file system library required 2019-06-06 15:20:42 +02:00
Martchus 1ad90eb770 Use std::filesystem in argumentparser.cpp 2019-06-05 23:49:35 +02:00
Martchus bc0d7af67f Apply cmake-format 0.5.1
* Disable autosort as it messes with add_library and
  add_executable calls
2019-06-01 12:14:30 +02:00
Martchus e120a897c5 Add use_package to 3rdParty 2019-05-30 14:04:04 +02:00
Martchus c904014794 Make math functions templates and move to misc 2019-05-13 22:42:17 +02:00
Martchus a17f322f3c Apply cmake-format 2019-05-04 20:57:56 +02:00
Martchus c4128799bc Fix test for libstd++/Windows NativeFileStream configuration 2019-05-04 15:49:41 +02:00
Martchus e9cc26478b Don't mix building static and shared libraries 2019-04-22 20:42:48 +02:00
Martchus 9a50d2b8df Remove types 2019-04-13 20:33:39 +02:00
Marius Kittler 132f936c57 Remove workaround for GCC Bug 66145 2019-04-13 20:33:39 +02:00
Martchus 264a349751 Remove widen.h, use iconv based string conversion instead 2019-04-13 20:33:39 +02:00
Martchus b178bb086c Remove random utilities 2019-04-13 20:33:39 +02:00
Martchus d99a611fbc Bump major version 4 -> 5 2019-04-13 20:33:39 +02:00
Martchus 0bd53c77b5 Query install directory for Qt plugins from qmake 2019-02-27 21:05:23 +01:00
Martchus 86f3bf8b3b Apply cmake-format 2019-02-06 17:30:52 +01:00
Martchus ec39e2f5d2 Add Phrases::SubError and Phrases::SubWarning 2018-11-11 22:34:38 +01:00
Martchus c0f74e4c89 Add BOOST_IOSTREAMS_DYN_LINK to compile defs
if linking dynamically against Boost.Iostreams
2018-10-21 20:24:55 +02:00
Martchus 4ca32e14dc Use set_property instead of set_source_files_properties
since it allows to append which is what should actually happen
2018-10-17 17:34:46 +02:00
Martchus 8e3c40abb5 Make conversion from multi byte to wide string generic 2018-10-03 21:26:41 +02:00
Martchus 749eea2ab6 Support NativeFileStream via Boost.Iostreams
So it can also be enabled when not using libstdc++.
2018-09-30 13:55:30 +02:00
Martchus f60f79d6f3 Make docstring for USE_NATIVE_FILE_BUFFER more generic
Since the build option no longer only relates to Windows.
2018-09-29 11:59:30 +02:00
Martchus 5deb077fe5 Extend Binary{Reader,Writer} to ease binary (de)serialization
To implement reflection-enabled binary (de)serialization
in https://github.com/Martchus/reflective-rapidjson.
2018-06-20 23:07:08 +02:00
Martchus b77607f3e0 Rename META_REQUIRED_FEATURES
Because those features are actually not required.
2018-06-03 22:15:20 +02:00
Martchus 52734ebf51 Make use of thread_local optional
Because it doesn't seem to be implemented for
apple-darwin targets.
2018-06-03 22:14:22 +02:00
Martchus d9f2ad7260 Fix warnings in character set conversion functions 2018-05-31 01:19:34 +02:00
Martchus 89a4c2f33a Skip suggestions for pre-defined values if none assigned 2018-05-11 18:13:14 +02:00
Martchus 429de98836 Add algorithm for computing Damerau–Levenshtein distance 2018-05-05 23:26:53 +02:00
Martchus 25057fa8e3 Add MultiArray class which provides an N-dimensional array 2018-05-05 23:05:46 +02:00
Martchus 26a286a7db Prevent installation of private header 2018-04-28 12:15:34 +02:00
Martchus e2e4b4641f Add EscapeCodes::Strikethrough 2018-03-25 20:00:01 +02:00
Martchus da5a027ea3 Add simplified, string_view-compatible version of splitString() 2018-02-28 18:03:07 +01:00
Martchus 4da48b0546 Install appdata.xml template 2018-02-19 19:50:07 +01:00
Martchus 3fcbaf7fff Split shared and static configuration 2018-02-16 23:56:29 +01:00
Martchus 53c3d72833 Increase version 4.12.0 -> 4.12.1 2018-01-29 16:32:48 +01:00
Martchus 368fc46e47 Improve tests of argument parser 2018-01-29 16:23:10 +01:00
Martchus f9e4c74aff argument parser: Expose occurrence info directly
Primarily for testing porposes, see documentation.
2017-11-06 19:50:46 +01:00
Martchus f3777d7159 Improve description and README.md 2017-11-04 15:48:47 +01:00
Martchus 9829dbe727 Make use of escape codes configurable 2017-10-17 00:00:46 +02:00
Martchus 4011040e57 Add Phrases::EndFlush 2017-10-09 20:43:18 +02:00
Martchus b4556c0481 Move OutputCheck to its own header file
* So it can be used in tests for tageditor and
  other applications
* Make it a header-only class so c++utilities
  does not depend on cppunit
2017-09-20 17:09:34 +02:00
Martchus 357ede4ee7 chrono utils: Improve handling micro- and nanoseconds
DateTime and TimeSpan have an accuracy of 100 nanoseconds.

This commit ensures this is also handled in toString() and
fromString() methods and adds relevant convenience methods.
2017-08-31 02:17:05 +02:00
Martchus de6b4be8b3 Test math utilities 2017-08-02 13:29:22 +02:00
Martchus 1af88c964e bash completion: Show values for implicit args
So eg. `tageditor get [tab][tab]` also suggests specifying
field names directly instead of only via --fields.
2017-07-28 17:32:16 +02:00
Martchus 73f11eeb2a detecting 3rdparty libs: Fix overriding cache variables 2017-07-20 01:24:35 +02:00
Martchus 99cc68bdee Improve doc of config vars 2017-07-11 20:27:23 +02:00
Martchus 28f76db46e Add install target for 'extra-files'
So additional files like tests/calculateoverallcoverage.awk
and coding-style.clang-format are installed and can be used
by other projects, too.
2017-07-11 19:34:38 +02:00
Martchus 28f37bbbcd string to int: Allow specifying string size 2017-06-08 00:41:29 +02:00
Martchus 06f401b393 Prevent warning in swapOrder(uint16 value) 2017-06-03 17:16:52 +02:00
Martchus 5388337bcc Fix compiling tests under 32-bit arch 2017-05-30 23:56:08 +02:00
Martchus 7faa51c10e Test traits 2017-05-08 19:59:29 +02:00
Martchus 7c189b18e1 Allow nested operation arguments
eg. syncthingctl pwd rescan
2017-04-06 00:04:30 +02:00
Martchus fdbe874bcd Allow to disable excluding tests from all target 2017-03-23 20:31:57 +01:00
Martchus 78869da195 Extend documentation 2017-03-12 20:23:21 +01:00
Martchus f626bdf9c7 Fix typos 2017-03-01 18:18:54 +01:00
Martchus 6115933756 Add convenience function to read entire file at once 2017-02-03 01:06:38 +01:00
Martchus a772cdf30b Add conveniently usable string builder
which allows fast string building without multiple heap allocations
2017-01-26 22:16:18 +01:00
Martchus 640d20c463 Make Qt translations of dependencies available in config.h 2017-01-07 16:07:03 +01:00
Martchus 737f73e71a Make forcing UTF-8 codepage optional 2016-12-24 16:08:09 +01:00
Martchus cab332bcad Refactor reading arguments
Replace ArgumentParser::readSpecifiedArgs() with
ArgumentReader class to simplify argument list
2016-12-23 22:40:33 +01:00
Martchus 9d91cfca07 Add NativeFileStream to support unicode filenames under Windows 2016-12-21 00:29:57 +01:00
Martchus 59a8dfe833 Convert args to UTF-8 under Windows 2016-12-19 23:44:34 +01:00
Martchus 89cb027786 Ensure console output is UTF-8 under Windows 2016-12-19 23:43:24 +01:00
Martchus bd9cdfccb2 Add traits for exploiting SFINAE 2016-11-13 22:51:09 +01:00
Martchus a1189d3c3b Allow specifying custom exit() function 2016-10-30 00:37:28 +02:00
Martchus 5119bb5c6a Improve ArgumentParser::readSpecifiedArgs()
- Fix minor issues
- Add further test cases
2016-10-29 23:54:30 +02:00
Martchus 73d42c287c Support desktop actions and other additional desktop entries 2016-10-19 20:59:54 +02:00
Martchus 00f7795dcd Link test target against neccassary libraries
In addition to previous libs, also link against
 - same libs as app/lib target
 - the app target itself if required
2016-09-20 20:52:29 +02:00
Martchus 636467f93b Add missing template files 2016-09-11 21:12:11 +02:00