Hi Alexander, Actually, I've done some work on this: https://github.com/andrewvaughanj/cpp20_module_examples and more specifically: https://github.com/andrewvaughanj/cpp20_module_examples/blob/main/do_gcc.sh Please take a look and feel free to ask if you have any questions -- cheers, Andrew On Tue, Oct 19, 2021 at 4:58 PM Alexander Christensen via Gcc-help <gcc-help@xxxxxxxxxxx> wrote: > > Hi, I hope I write to the right place. > > I would like to know how to use the module mapper, documented here https://gcc.gnu.org/onlinedocs/gcc/C_002b_002b-Module-Mapper.html, > to change the location of the expected gcm.cache directory. Given an example project layout: > > src/ > Makefile > project_1/ > // .cpp source files > Makefile > project_2/ > // .cpp source files > Makefile > > Compiling from inside project_1 and project_2 folders does not work with the default module mapper, as gcc expects the module cache > to be located in current working directory, which is a problem if project_2 references modules built in project_1. > However, I can specify a module-mapping file. But I can't get it to work. > > What would be the correct syntax for such a file, located in project_2, to override the default module cache to read from modules in > src/gcm.cache/ and NOT src/project_2/gcm.cache/ ? This does not work: > > // module_mapping.txt > '$root' ../gcm.cache/ > > And I do not want to prepend "cd .. && " to all build commands in src/project_2/Makefile. > > > Sincerely, > Alexander >