QMAKE_EXTRA_COMPILERS - зависимость_команды фильтрует несуществующие файлы - PullRequest
0 голосов
/ 11 февраля 2019

У нас есть собственный компилятор, который генерирует исходный код c ++ из DSL (заголовки + источники).Тезисы могут иметь зависимости друг от друга, что вызывает некоторые проблемы.

Все хорошо, когда сгенерированные файлы уже существуют - в этом случае qmake может генерировать зависимости самостоятельно.Но если qmake запускается без присутствия сгенерированных источников, это не работает, и мы получаем проблемы «Нет такого файла или каталога» при компиляции.

Добавление сгенерированных источников / заголовков в target_predeps также не работает (в большинствеслучаи) из-за использования нескольких потоков, а генерация исходного кода не завершается при запуске компиляции.

Поэтому я попытался внедрить эти зависимости в Makefile.Я изменил пользовательский компилятор, чтобы он мог сгенерировать список зависимостей для заданного входного файла, и попытался вызвать его с зависимой_командой.Опять же, это прекрасно работает, когда исходные файлы уже сгенерированы, но в чистой сборке qmake отфильтровывает те еще не сгенерированные зависимости.

Есть ли какой-то скрытый флаг, чтобы сказать qmake, чтобы они взяли эти зависимости, даже если файлы еще не существуют?

РЕДАКТИРОВАТЬ: Очевидно, это было исправлено с Qt 5.12, но я застрял с 5.9 и ищу обходной путь.

...