You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
Currently bebop only produce one single massive header file (along with auxiliary header) when compiling bop files to C++ header file.
This limitation prevents any serious C++ project from using bebop because complex project will likely have many records in different layers. Any changes are made to a record will lead unnecessary triggering recompilation of unrelated codebase of changes for every layer that depends on the generated header despite the user make no changes to the relevant models.
For example; a game may use bebop for serializing their assets and network messages. Any changes made to one of these parts will trigger full-recompilation of assets and network modules since both of these module refer to a single header file.
Describe the solution you'd like
Find a way to generate multiple header files. For example, protobuf generate 2 header files for each proto file; one is the header and the other is forward declaration. Which is very helpful reducing the compile time.
Describe alternatives you've considered
One solution is to separate the CMake generator into multiple targets. However, this won't play nicely if the project has shared/common bop files. These shared/common bop files will be generated on each targets which lead to multiple definition -> compile error. You will likely to have separate definition in each module which is painfully redundant to implement on the user side.
Additional context
For reference, Protobuf and capnproto make a header for each definition instead of compiling it into one single header file
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
Currently bebop only produce one single massive header file (along with auxiliary header) when compiling bop files to C++ header file.
This limitation prevents any serious C++ project from using bebop because complex project will likely have many records in different layers. Any changes are made to a record will lead unnecessary triggering recompilation of unrelated codebase of changes for every layer that depends on the generated header despite the user make no changes to the relevant models.
For example; a game may use bebop for serializing their assets and network messages. Any changes made to one of these parts will trigger full-recompilation of assets and network modules since both of these module refer to a single header file.
Describe the solution you'd like
Find a way to generate multiple header files. For example, protobuf generate 2 header files for each proto file; one is the header and the other is forward declaration. Which is very helpful reducing the compile time.
Describe alternatives you've considered
One solution is to separate the CMake generator into multiple targets. However, this won't play nicely if the project has shared/common bop files. These shared/common bop files will be generated on each targets which lead to multiple definition -> compile error. You will likely to have separate definition in each module which is painfully redundant to implement on the user side.
Additional context
For reference, Protobuf and capnproto make a header for each definition instead of compiling it into one single header file
The text was updated successfully, but these errors were encountered: