public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* C++20 module mapper
@ 2021-10-19 15:58 Alexander Christensen
  2021-10-19 16:45 ` Andrew Jones
  0 siblings, 1 reply; 3+ messages in thread
From: Alexander Christensen @ 2021-10-19 15:58 UTC (permalink / raw)
  To: gcc-help

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-10-19 22:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-19 15:58 C++20 module mapper Alexander Christensen
2021-10-19 16:45 ` Andrew Jones
     [not found]   ` <AM0PR09MB4291BC30DF53A60DBAA2FED9D4BD9@AM0PR09MB4291.eurprd09.prod.outlook.com>
2021-10-19 22:48     ` Andrew Jones

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).