Skip to content

Instantly share code, notes, and snippets.

@oshadura
Forked from yamaguchi1024/GlobalModulesIndex.md
Created February 11, 2019 12:53
Show Gist options
  • Save oshadura/7e99dee3d03e3ee3e50ae67050c58c44 to your computer and use it in GitHub Desktop.
Save oshadura/7e99dee3d03e3ee3e50ae67050c58c44 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