Commit Graph

239 Commits

Author SHA1 Message Date
Martchus a6b9d771aa Do not treat warning "'this' pointer is null" appearing with GCC 12 as error
It is about code included from libclang and likely wrong so let's just not
abort the compilation due to it.
2022-05-12 20:23:33 +02:00
Martchus 762540f5e5 Add support for `std::optional` 2022-05-07 18:40:37 +02:00
Martchus 0633923935 Simplify use of type traits in `json/reflector.h` 2022-05-07 16:52:32 +02:00
Martchus 11491b1387 Add stalebot config 2022-04-12 01:05:03 +02:00
Martchus df787f3105 Add copyright notice 2022-04-05 20:23:32 +02:00
Martchus 2cc044c705 Adapt tests to efaa8a8 2022-03-28 17:06:28 +02:00
Martchus 4966625d8b Clarify that license is "GPL-2-or-later" 2022-03-15 21:46:56 +01:00
Martchus efaa8a8441 Avoid warnings about using uninitialized variable 2022-02-22 20:03:49 +01:00
Martchus 22611457f9 Fix plural of pointer in README.md 2022-02-05 22:28:20 +01:00
Martchus 59ff3c19eb Allow reporting a type mismatch specifying the expected RapidJSON type directly 2022-01-03 23:24:40 +01:00
Martchus f8f551a78a Fix include and namespace-prefix for using `std::move` in JSON reflector 2021-12-05 23:34:39 +01:00
Martchus 8b66ca3e6b Avoid using `DeclBase::getLangOpts()` to support older Clang versions
The `DeclBase::getLangOpts()` is merely a convenience but only available
in Clang 11 or newer.
2021-09-19 01:17:30 +02:00
Martchus 44c6b8c609 Throw exception during binary deserialization when version is not supported 2021-07-25 19:19:02 +02:00
Martchus 13428667f8 Remove surplus space 2021-07-25 19:13:29 +02:00
Martchus 852dfb7e3c Add symlink for versioning 2021-07-25 17:31:07 +02:00
Martchus 0a902ac30c Add experimental versioning for binary (de)serializer 2021-07-13 00:37:05 +02:00
Martchus 5e72012ed5 Fix typos found via `codespell --skip .git -w` 2021-07-03 19:50:25 +02:00
Martchus a4dd52acfa Define REFLECTIVE_RAPIDJSON_GENERATOR macro during generator runs
So one can distinguish regular compilation from the generator run by
checking this macro.
2021-05-16 19:25:36 +02:00
Martchus e3d32ddfa1 Use std::string_view for CodeFactory parameters (where possible) 2021-05-16 19:25:30 +02:00
Martchus 8f1909dfdf Exit when parsing arguments fails 2021-05-13 16:56:27 +02:00
Martchus 874c964e0b Prevent warnings about unused variables in generated code 2021-03-22 14:16:40 +01:00
Martchus 30735ba187 Fix warnings 2021-03-20 21:25:56 +01:00
Martchus 5110cff5eb Fix documentation for std::string_view's push/toJsonDocument function 2021-01-15 17:48:46 +01:00
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