[Feat](Exports) Minor features for export generation
Context
Needed some features to generate the exports (needed for the cpp export refactor) :
- Now possible to generate a label tensor into the 
generate_main_cpp()function for result verification at runtime. - Add a 
copy_folder()function and add asymlinkargument to create symbolic links instead of simple file copy (help with dev process). - Add a function to remove the optional inputs from the 
order_inputslist so that they are not exported. - The 
ExportNodeclass now holds astatic_foldersvariable acting as the existingstatic_filesvariable but for whole folders. - Change the 
kernels_to_copyexport node system as the old system had some limitations. Indeed, it was not possible to chose a destination path different from the source path. Also the copied kernel would be automatically included in the fwd file, sometime leading to unused includes. The new system is based on a list of dict holding, for each kernel file, the source and destination paths as well as a boolean to indicate if the kernel needs to be included in the forward file. 
Modified files
- 
code_generation.py- Addcopy_folder()function andsymlinkoption. - 
export_registry.py- Addstatic_folder: list of folders to export. - 
scheduler_export.py- Calls thecopy_folder()function to export thestatic_folders. Also changetest_modetodev_modefor more clarity. If thedev_modeis enabled, the copied files will be symbolic links to help with development. - 
generate_main.py- Add label export. - 
main.jinja- Add label export and change default folder for inputs/labels toROOT/data. - 
main_compare.jinja- Change default folder for inputs/labels toROOT/data. - 
export_utils.py- Addremove_optional_inputs()to remove the optional inputs of the graph before export.