Thank you for the interest in GlobalModulesIndex project at HSF group! As this project is highly technical, it is necessary to have some understanding of ROOT and Clang before starting to write proposal. This document is dedicated to give a surface introduction of C++ modules, and to give a project which you can try out.
git clone https://github.com/root-project/root
mkdir root-build
cd root-build
cmake ../root -Druntime_cxxmodules=On -Droot7=Off (-GNinja)
make (or ninja)
After building ROOT, you will notice that modulemap is created under include/module.modulemap
, include/stl.modulemap
and include/libc.modulemap
. modulemaps serve as a definition file of explicit C++ modules, to define which header file should be included in which module.
Please try to add stl or libc system header to build/unix/stl.modulemap
or build/unix/libc.modulemap
and compile ROOT again. If you succeed in adding one header file to either modulemaps, please let us know.
Contact:
- Yuka Takahashi - yukatkh@gmail.com
- Oksana Shadura - oksana.shadura@cern.ch