Skip to content

Instantly share code, notes, and snippets.

@yamaguchi1024
Last active March 20, 2019 15:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save yamaguchi1024/c4de4f46b433ffcb05f2f023eef1d4d5 to your computer and use it in GitHub Desktop.
Save yamaguchi1024/c4de4f46b433ffcb05f2f023eef1d4d5 to your computer and use it in GitHub Desktop.
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 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:

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