Как прекомпилировать каждый заголовочный файл?
Я читал документацию по модулям Clang. Я понял несколько вещей, я не знаю, правда ли я или нет.
- Если я просто пройду
-fmodules
а также-fbuiltin-module-map
к каждому скомпилированному исходному файлу какclang
В качестве аргументов я получу все преимущества таких модулей, как предварительно скомпилированные заголовки для стандартных включений, с 0 изменениями из-за включений в качестве импорта. - Нет необходимости использовать предварительно скомпилированные заголовки. Если я придерживаюсь модулей.
У меня вопрос такой. Как я могу автоматически прекомпилировать каждый заголовочный файл? Должен ли я генерировать карту модуля со сценарием для заголовков, чтобы они были предварительно скомпилированы? Один гигантский modulemap или один modulemap для каждого заголовка?
Меня не волнует план стандартных комитетов C++ или логический аспект модулей. Все, что мне нужно, это ускорение компиляции, достигаемое за счет предварительной компиляции заголовков, без необходимости создания precompiled.hpp
файл (со всеми возможными заголовками) или любые огромные изменения в коде.
РЕДАКТИРОВАТЬ: Модули в Clang реализуют кэш, так что, на мой взгляд, они довольно похожи на предварительно скомпилированные заголовки в смысле ускорения времени компиляции.
Меня не волнует вопрос о комитете, потому что мой вопрос касается модулей Clang (не стандартных модулей C++), которые, как я знаю, являются экспериментальными и могут быть изменены. Я знаю свои риски.
Я хочу иметь более быструю компиляцию и вижу возможный маршрут, который, по-моему, лучше других методов.