Thank you for your answer)
I was referring this cmake example (https://blog.austinbrunkhorst.com/cpp-reflection-part-1/#cmakeprebuildexample) where "set(PROJECT_SOURCE_FILES ...)" line has confused me, which source files need to specify. But now everything is pretty clear. I've checked the MetaParser on my test types and it is working! Awesome!
The only thing I am curious is whether it's possible to get meta data from headers, where Meta(Enabled) is not specified. For example for third party API headers.
@ValeriaKlimenko_twitter sorry for the delayed response. In order to avoid generating a ton of code, I initially decided to go with a whitelisting approach for types. We ran into problems where 3rd party types needed to be known about, so I added an "external type" feature. I haven't formally documented it, but you just have to make a declaration like this:
You can find an example here - https://github.com/AustinBrunkhorst/Ursine3D/blob/master/Source/Ursine3D/include/UrsineReflectionExternal.h
Types declared with
MetaExternalare only registered with the type system, so fields, methods, etc. aren't included. There is definitely a clear use case for non whitelisted types like you're looking for. An easy way to support this would be adding a command line option in the parser that disables type whitelisting. At that point, you could have a project that generates all of your third party types separately from your main project for modularity.
LanguageTypes/Class - would need to update
isAccessible() to return true when the command line option is configured.