Skip to content

Draft: Extend code generator to generate C++ server/client prototype code

Florian Meinicke requested to merge feature/codegenerator-cpp into develop

Why this Merge Request?

  • generate code (server/client prototypes) for the sila_cpp reference implementation
  • Implements sila_cpp#28 (closed)

Please explain, what changes you introduced:

  • Add new classes that generate server, client and feature implementation prototypes as well as a class that generates a CMakeLists.txt prototype (so that the generated code can be built right away)
  • Rename the old classes to better distinguish them from the new ones (all generator classes have a prefix for their corresponding language, e.g. PyClientPrototypeGenerator or CppClientPrototypeGenerator)
  • Add another command line option --cpp that turns off the Python generation and turns on the generation of the C++ prototypes
  • Include a new template directory with the template files for C++
  • Update setup.py to install all files in the template/ directory

What Part(s) of SiLA_python is affected ? (e.g. sila_library, codegenerator, implementations )

  • code generator

Are there backwards-compatible changes?

  • yes, the Python code generation is not affected in any way

Are there expected incompatible changes / side effects

  • no

Checklist

  • linked to related GitLab issues ?
  • added relevant changes to the CHANGELOG.md in the [vNext] section?
Edited by Florian Meinicke

Merge request reports