Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Introduction to GlobalModulesIndex project at HSF group

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.

Build ROOT with C++ Modules

git clone
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.


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment