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
Martchus
a2b40753c3
Adapt adding include dirs to c++utilities 5
2019-06-20 22:53:03 +02:00
Martchus
6542eab80d
Adapt to changes in c++utilities
2019-06-14 19:16:51 +02:00
Martchus
8cac133104
Adapt to changes in c++utilities
2019-06-10 22:46:06 +02:00
Martchus
2194000938
Apply cmake-format 0.5.1
2019-06-01 12:16:27 +02:00
Martchus
dd174920fe
Adapt to c++utilities v5
2019-05-04 16:09:58 +02:00
Martchus
9b80d662bb
Catch polymorphic type by reference
2019-04-19 22:24:32 +02:00
Martchus
669aa16479
Fix building against LLVM/Clang 8
2019-03-27 14:41:57 +01:00
Martchus
2b0acbdd1e
Cast pointer to the right type on non 64-bit architectures
...
That could explain why the tests sometimes fail under armv7l (before
making the fix for big pointer IDs).
2019-03-08 17:44:20 +01:00
Martchus
0bf19df0d9
Add explicit test for type mismatch on binary serialization
2019-03-08 17:40:36 +01:00
Martchus
04852627b2
Fix binary serializiation of shared_ptr too big for variable length encoding
...
* Retain backward compatibility by using either variable length int
or regular 64-bit int extending the flags
* Add test for both cases
2019-03-08 17:40:08 +01:00
Martchus
b058e9e9b9
Fix include for "empty" case in generator tests
2019-02-13 11:39:09 +01:00
Martchus
1f6fade6c2
Apply cmake-format
2019-02-09 21:25:11 +01:00