Martchus
dc7c74c497
Update minimum C++ version mentioned in README
...
This likely doesn't work anymore with C++14 and I won't put any effort into
C++14 compatibility anymore at this point.
2021-01-15 15:27:28 +01:00
Martchus
80183f5269
Remove list of supported versions as it is too much work to maintain
2021-01-15 15:24:50 +01:00
Martchus
5c49a438ad
Use header-only target of c++utilities
...
The current approach even distinguished between the build and install
interface. However, CPP_UTILITIES_INCLUDE_DIRS is not correctly evaluated
at the time PUBLIC_INCLUDE_DIRS is populated here because the variable
PACKAGE_PREFIX_DIR from the c++utilities config module still points to the
build directory at build time and using $<INSTALL_INTERFACE:…> can not help
with that.
2021-01-01 18:48:14 +01:00
Martchus
6252a7335a
Apply cmake-format and clang-format
2020-12-05 21:29:55 +01:00
Martchus
2b6634d574
Allow supplying RapidJSON from outer scope
2020-12-05 21:29:38 +01:00
Martchus
0010e32515
Improve download section of README
2020-12-05 21:28:22 +01:00
Martchus
1970145b90
Add documentation regarding direct RapidJSON usage
2020-06-29 20:59:01 +02:00
Martchus
1e95c3d1ca
Don't use StringRef with RapidJSON's SetString and allocator
...
There is no overload taking a RAPIDJSON_NAMESPACE::StringRef and an
allocator. So the StringRef will be implicitly converted back to a plain
CharType pointer causing an additional length calculation.
2020-06-29 20:26:19 +02:00
Martchus
c33e1687cb
Support serializing std::string_view
2020-06-26 22:08:05 +02:00
Martchus
4ff49156da
Apply clang-format
2020-05-28 12:02:22 +02:00
Martchus
18716b17be
Merge pull request #3 from otreblan/master
...
Fix missing header in gcc10
2020-05-28 11:51:42 +02:00
otreblan
beb4491b18
Fix missing header in gcc10
2020-05-27 22:20:22 -05:00
Martchus
8c032ee7a6
Fix compatibility with LLVM/Clang 10
2020-04-12 17:22:37 +02:00
Martchus
c4f622df8d
Apply cmake-format
2020-03-08 13:52:01 +01:00
Martchus
442359f5bf
Add a function to format JSON deserialization errors
2020-02-29 22:35:02 +01:00
Martchus
86481fa459
Prevent CMake error when using CMake < 3.15.0
2020-02-18 19:40:48 +01:00
Martchus
cf41f4596a
Prevent passing "empty" flags to the code generator
...
Otherwise flags like "-D -I/foo" might be passed to clang which
will then complain that "-I/foo" is not a valid name for a macro.
2020-02-14 16:26:50 +01:00
Martchus
4b4d674f56
Allow adding clang options from dependencies
2020-01-31 20:43:01 +01:00
Martchus
891b96a38f
Fix build with custom target suffix
2020-01-31 19:49:18 +01:00
Martchus
c68d9ea384
Format CMake files with cmake-format 0.6.7
2020-01-26 20:42:03 +01:00
Martchus
e7bbdd0af6
Allow logging the exact list of options passed to clang
...
Since the options get splitted and not just passed as-is
this can be useful for debugging.
2020-01-26 20:41:34 +01:00
Martchus
ed3f89953f
Add missing symlinks to include directory
2020-01-26 20:38:47 +01:00
Martchus
6e4077eed2
Add JsonDeserializationErrors::ThrowOn::All
2020-01-26 20:38:24 +01:00
Martchus
2f1098ae3d
Make m_pointer of BinarySerializer and BinaryDeserializer private
2020-01-12 00:50:30 +01:00
Martchus
b37f467dcd
Fix name of CMake package in example
2020-01-12 00:33:02 +01:00
Martchus
7482c64931
Support --binary-visibility in CMake function
2020-01-11 14:54:14 +01:00
Martchus
f9fc9e02b7
Fix URL in project meta-data
2020-01-02 20:31:09 +01:00
Martchus
72a11c22b1
Apply cmake-format 0.6.5
2019-12-27 01:43:41 +01:00
Martchus
48639b42b2
Support serialization of std::pair
2019-12-27 01:43:28 +01:00
Martchus
717fb2f037
Polish lib/binary/reflector.h
2019-12-27 01:42:34 +01:00
Martchus
450588af89
Support multimap and unordered_multimap
...
The previously (undocumented) implementation used non-unique
keys in JSON objects. This is not strictly forbidden by the
RFC but not recommended. Multiple values are now stored within
an array instead.
2019-12-27 01:40:34 +01:00
Martchus
022a174028
Remove wrong quote in README.md
2019-12-06 16:52:10 +01:00
Martchus
1192c2d74a
Apply cmake-format 0.6.2
2019-12-06 16:51:47 +01:00
Martchus
03563aafbf
Fix generator tests; it needs C++17
2019-11-14 18:13:39 +01:00
Martchus
f75c8d77a2
Fix finding LibTooling when 'clang-cpp' target is used
...
See https://releases.llvm.org/9.0.0/tools/clang/docs/ReleaseNotes.html#build-system-changes
2019-11-14 17:18:49 +01:00
Martchus
456702e009
Remove unused std::monostate handling
...
This wasn't useful after all.
2019-11-03 22:38:27 +01:00
Martchus
3374e4ea6c
Fix passing C++ version in CMake macro
2019-11-03 22:37:55 +01:00
Martchus
e29db0fa87
Prevent warnings about unused lambda captures
2019-11-03 22:37:19 +01:00
Martchus
1024b8e391
Use override in test fixtures
2019-11-03 22:33:29 +01:00
Martchus
c3dc381425
Support `std::variant`
2019-11-03 22:02:56 +01:00
Martchus
dd652b4de7
Apply CMake format
2019-10-12 19:04:17 +02:00
Martchus
7e5a32265d
Add CLI help and completion for binary generator
2019-10-05 01:36:21 +02:00
Martchus
00dd569869
Update/improve README.md
2019-10-05 01:31:38 +02:00
Martchus
d8e626d259
Fix toJsonDocument() for maps
2019-10-05 01:05:48 +02:00
Martchus
d7e7bdb703
Add std::optional to TODOs
2019-08-09 17:59:00 +02:00
Martchus
fecde7d2d1
Improve adding RapidJSON include dirs to tests
...
* Also check for `RapidJSON_INCLUDE_DIRS` which seems to be used now
* Do not add `-I` without subsequent path if the include directory
is missing/empty which would lead to the Clang error:
`error: unable to handle compilation, expected exactly one compiler job in ''`
2019-08-09 17:54:08 +02:00
Martchus
f21f255e94
Don't use the same enum names twice
...
Prevents
```
[ 168s] /home/abuild/rpmbuild/BUILD/reflective-rapidjson-1563638877.5f7c18b/lib/tests/jsonreflector.cpp:41:12: warning: type 'SomeEnumClass' violates the C++ One Definition Rule [-Wodr]
[ 168s] 41 | enum class SomeEnumClass {
[ 168s] | ^
[ 168s] /home/abuild/rpmbuild/BUILD/reflective-rapidjson-1563638877.5f7c18b/lib/tests/binaryreflector.cpp:39:12: note: a type with different precision is defined in another translation unit
[ 168s] 39 | enum class SomeEnumClass : std::uint16_t {
[ 168s] | ^
```
observed in LTO-enabled builds
2019-08-09 17:48:08 +02:00
Martchus
8394c145f6
Update version
2019-08-05 20:27:21 +02:00
Martchus
5f7c18b59e
Set project() on top-level
...
See https://github.com/Martchus/cpp-utilities/pull/15
2019-07-20 18:07:57 +02:00
Martchus
8f06bf0272
Do not call vector::reserve() in loop
2019-06-20 22:54:17 +02:00