Skip to content

Generate a project

Project generation

To generate a project, you must use PhoenixFileGenerator in project mode. Using this mode, you can : - Choose the project architetcure you want to generate. For now, PhoenixGenerator handles three modes, the SimpleCpp mode, the SimpleWrapper mode and the SimpleNanobind mode. - Generate classes inside the project by adding a list of pdata files you want to generate. - Enable the unit tests generation for the generated sources (form your .pdata files).

Using the different modes you can generate diffrent types of projects.

SimpleCpp

The SimpleCpp type allows you to generate a C++ project including : - CMake support and CMakeLists generation using PhoenixCMake - Pixi support by creating the pixi.toml file, including project dependendencies and creating tasks to run the tests, compute the coverage and generate the documentation. - PhoenixDataStream, PhoenixConfigStream, PhoenixTypeStream, PhoenixCheckStream support for serialisation and type handling. - Class generation using pdata format. - Unit test generation for generated classes based on CMake and CTest. - Documentation architecture generation based on MKdocs.

SimpleNanobind

The SimpleNanobind type allows you to generate a C++ project and it's nanobind wrapper including : - CMake support and CMakeLists generation using PhoenixCMake - Pixi support by creating the pixi.toml file, including project dependendencies and creating tasks to run the tests, compute the coverage and generate the documentation. - PhoenixDataStream, PhoenixConfigStream, PhoenixTypeStream, PhoenixCheckStream support for serialisation and type handling. - Class generation using pdata format. - Unit test generation for generated classes based on CMake and CTest. - Documentation architecture generation based on MKdocs. - Nanobind wrapper to wrap the generated C++ classes. - Python testing for the nanobind bindings.