Martchus
fa6e16b45d
Update README section about packages
2018-04-04 20:30:40 +02:00
Martchus
7db20f5ad5
List all required LLVM/Clang libraries explicitely
...
Those libraries are direct dependencies and must be listed
explicitely when linking dynamically because transitive
dependencies of clangTooling are not pulled automatically
by CMake in this case.
This is required to use LLVM 6 which has switched to dynamic
libraries (at least under Arch Linux).
2018-03-14 18:33:15 +01:00
Martchus
03e3a4bc67
Support std::(unordered_)?(multi)?set
2018-02-26 22:39:09 +01:00
Martchus
432f997d16
Increase version 0.0.2 -> 0.0.3
2018-02-05 22:42:10 +01:00
Martchus
e6c54a37e4
Improve README and make it work with md2pdf
2018-02-05 21:58:37 +01:00
Martchus
9e11d805c1
Prevent running Qt's generator on files from this generator
2018-02-05 21:21:56 +01:00
Martchus
ea924b7a3f
Merge sections for passing options to Clang
2018-02-03 16:26:21 +01:00
Martchus
f0870d3a54
Test with size_t (defined in Clang's builtin headers)
2018-02-03 16:14:20 +01:00
Martchus
2098ff702e
fixup! Do not turn errors into warnings by default
2018-02-03 16:10:01 +01:00
Martchus
d1fe76f322
Use mutable instead of const_cast
2018-02-03 16:09:31 +01:00
Martchus
1f571549e7
Update README.md
2018-02-03 16:08:54 +01:00
Martchus
8587d62583
Do not turn errors into warnings by default
...
Not required anymore since the resource dir is specified
correctly.
2018-02-03 15:47:25 +01:00
Martchus
21e7f83995
Improve documentation
2018-02-03 15:45:15 +01:00
Martchus
54d4a15d4f
Set Clang's resource dir and platform triple correctly
...
* The option `-resource-dir` must be specified to
point to Clang's resource directory containing built-in
header files. Then the massive warnings are gone.
* Setting the platform triple seems to be the right way
for cross-compilation. Note that the stdlib.h still needs
to be worked around.
2018-02-03 15:44:10 +01:00
Martchus
4ae20cf38b
Clean the CLI flags passed to clang by default
2018-02-03 15:37:30 +01:00
Martchus
8eb9e9ec27
Do not adjust the config in AST consumer
...
* Adjusting the config at this point seems
to be too late, at least it does not seem
have any effect
* Rather use the CLI arguments
2018-02-03 15:36:53 +01:00
Martchus
0d2f39a2b5
Use hash map to find specified code generator
...
So adding further generators will not result in having
a lot of "else if (!strcmp(..." conditions.
This also allows to improve the error message.
2018-02-02 18:21:04 +01:00
Martchus
1eaa2d52c2
Update README and TODOs to current state
2018-01-24 19:37:25 +01:00
Martchus
ce14bd12c4
Fix 'above' in README.md
2018-01-24 19:12:36 +01:00
Martchus
079534f301
Update TODOs
2018-01-21 19:44:33 +01:00
Martchus
a2f9c915b6
Increase version 0.0.1 -> 0.0.2
2018-01-20 21:44:57 +01:00
Martchus
7d9e1cf1de
Add TODO
2018-01-20 21:20:12 +01:00
Martchus
cb1741de89
Add PATHS to find_program(REFLECTION_GENERATOR_EXECUTABLE
2018-01-20 21:15:14 +01:00
Martchus
cb095b936a
Add include directory for build time
...
This dir is used when building eg. tageditor and reflective
rapidjson as one big project.
2018-01-20 21:14:48 +01:00
Martchus
c2e15f10fb
Fix unused variable
2018-01-20 20:43:29 +01:00
Martchus
5f86cc6243
Add notes regarding cross compilation
2018-01-20 19:47:09 +01:00
Martchus
baf7eec38e
Invoke add_reflection_generator_invocation only if building tests
2018-01-20 19:46:17 +01:00
Martchus
beb4d1d672
Prevent ambiguity of own arguments and clang options consistently
2018-01-20 19:32:46 +01:00
Martchus
c36279665d
Fix cross-compilation with mingw-w64
2018-01-20 18:10:58 +01:00
Martchus
35850df15e
Improve README.md
2018-01-15 01:25:23 +01:00
Martchus
3d750ada08
Add link to Arch Linux package
2018-01-12 17:01:55 +01:00
Martchus
742511ba10
Add CMake module paths of c++utilities for library
2018-01-12 15:55:10 +01:00
Martchus
282a3a1fb6
Add architecture diagram
2018-01-12 15:35:17 +01:00
Martchus
38d843b399
Improve README.md
2018-01-07 00:56:12 +01:00
Martchus
2fa1e923f9
Skip deserializing const member variables
2017-12-31 00:48:51 +01:00
Martchus
c5968f1663
Test whether code generation is skipped for included structs
2017-12-31 00:37:30 +01:00
Martchus
51e55f1673
Fix 'isOnlyIncluded' check for 3rdparty adaption
...
* Ensure the adaption is done in our source file
* Allow the 3rdparty class/struct to be in any file
2017-12-26 16:29:51 +01:00
Martchus
ca2a6acb2a
Add dummy for pulling C-style string
...
So at least everything can compile and the type-check
is done.
2017-12-24 02:13:16 +01:00
Martchus
272ec99bb0
Allow parsing any number as any kind of integral/floating point
...
Makes sense because JSON does not distinguish different kinds of
numbers anyways
2017-12-24 02:12:01 +01:00
Martchus
5f799cc65d
Prevent code generator for records which are only included
2017-12-24 02:02:40 +01:00
Martchus
bae7cf3414
Prevent generating pull method for non-default constructable classes
2017-12-24 01:07:52 +01:00
Martchus
0bb06d5190
Ensure all pull helper are declared prior to the call site
2017-12-24 00:57:08 +01:00
Martchus
ec66f14e4c
Just use IsNumber() to check for numbers
...
Otherwise deserializing doubles does not work
when there's no explicit decimal point in the
JSON file.
2017-12-22 20:44:04 +01:00
Martchus
489d4c71c0
Fix typo
2017-12-22 20:31:48 +01:00
Martchus
8016a42394
Fix adding adaption records in namespaces
2017-12-22 20:31:35 +01:00
Martchus
29b39bc7bc
Use uint64/int64 to serialize enums
...
Otherwise, enums using char as underlying types
can not not be serialized.
2017-12-22 20:30:55 +01:00
Martchus
9a2c2cfef6
Deserialize enums as well
2017-12-22 20:30:01 +01:00
Martchus
7b6fe57aac
Prevent segfault when no args specified
2017-11-23 15:18:44 +01:00
Martchus
b27e0ba772
Make condition for bundled c++utilities more generic
2017-11-18 00:28:54 +01:00
Martchus
86a577748e
Allow direct serialization of iteratables
2017-11-18 00:28:24 +01:00