У нас есть собственный компилятор, который генерирует исходный код c ++ из DSL (заголовки + источники).Тезисы могут иметь зависимости друг от друга, что вызывает некоторые проблемы.
Все хорошо, когда сгенерированные файлы уже существуют - в этом случае qmake может генерировать зависимости самостоятельно.Но если qmake запускается без присутствия сгенерированных источников, это не работает, и мы получаем проблемы «Нет такого файла или каталога» при компиляции.
Добавление сгенерированных источников / заголовков в target_predeps также не работает (в большинствеслучаи) из-за использования нескольких потоков, а генерация исходного кода не завершается при запуске компиляции.
Поэтому я попытался внедрить эти зависимости в Makefile.Я изменил пользовательский компилятор, чтобы он мог сгенерировать список зависимостей для заданного входного файла, и попытался вызвать его с зависимой_командой.Опять же, это прекрасно работает, когда исходные файлы уже сгенерированы, но в чистой сборке qmake отфильтровывает те еще не сгенерированные зависимости.
Есть ли какой-то скрытый флаг, чтобы сказать qmake, чтобы они взяли эти зависимости, даже если файлы еще не существуют?
РЕДАКТИРОВАТЬ: Очевидно, это было исправлено с Qt 5.12, но я застрял с 5.9 и ищу обходной путь.