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
Martchus
5f48579cd3
List scripts in project file
...
Maybe add install target for scripts later
2016-09-11 20:30:45 +02:00
Martchus
12588c6928
Improve chrono utils
...
- Support parsing/generating ISO time stamp with
time zone delta
- Fix minor bugs
- Improve tests
2016-08-30 19:59:04 +02:00
Martchus
fe4e4b2ef5
Fix issues concerning building/using static libraries
...
- Ensure static versions of 3rd party libs are
found correctly
- Link tests against statically if only static
libraries have been built
- Ensure standard lib is linked statically when
static linkage is enabled
2016-08-19 16:14:55 +02:00
Martchus
eba61510a0
Fix missing ConfigHeader module
2016-08-03 17:33:26 +02:00
Martchus
2f1f20c8c3
Generate config header in extra module
2016-07-27 21:38:40 +02:00
Martchus
323ad615cb
Add macro to use iconv
2016-07-27 18:21:43 +02:00
Martchus
189a6fe6ba
Approach to enable static linkage
...
Linking statically might be useful, especially
when linking Windows applications since MinGW
is less buggy then.
2016-07-22 01:35:32 +02:00
Martchus
03094a1f61
Add support for bash completion
2016-07-04 02:46:54 +02:00
Martchus
980794066b
Provide workaround for GCC Bug 66145
2016-06-14 22:53:19 +02:00
Martchus
526cbc5282
Rewrite argument parsing
2016-06-13 00:00:36 +02:00
Martchus
d28d477ffe
Complete generation of API doc
...
- Use README.md for main page
- Add install target for API doc
- Improve some doc comments
2016-06-10 22:59:22 +02:00
Martchus
4d1c874b56
Add target for API doc
2016-06-10 10:24:54 +02:00
Martchus
7bb6875ded
Allow testing particular units
2016-05-23 00:03:55 +02:00
Martchus
1aa5421e9b
next release will be 3.3.0
2016-04-25 22:18:43 +02:00
Martchus
bd0cbd5802
reduce code duplication in build system
...
- get rid of qmake project file
- provide CMake modules for common tasks
- provide templates for *.desktop files
2016-04-16 02:11:05 +02:00
Martchus
c4082d90c7
mingw-w64: build both, shared and static libs
2016-02-27 01:18:19 +01:00
Martchus
a7941b92e2
added BitReader::readUnsignedExpGolombCodedBits() and
...
BitReader::readSignedExpGolombCodedBits()
2016-02-16 17:25:03 +01:00
Martchus
9abe04ce06
make test code public to simplify creation of tests in other projects
2016-02-06 16:55:28 +01:00
Martchus
80a4ce1790
added more test cases
2016-01-27 01:01:43 +01:00
Martchus
e4910171e8
added check target and first tests
2016-01-26 18:52:41 +01:00
Martchus
780b608529
ensure custom install targets don't conflict
...
(required when building as subdirectory)
2016-01-21 16:26:39 +01:00
Martchus
a8f7644350
minor adjustments
2016-01-18 23:41:30 +01:00
Martchus
b8ffcc74c9
removed creation of Windows icon
2016-01-05 17:14:01 +01:00