Ручная настройка теневой сборки в qmake

В Qt Creator есть одна особенность, которая мне очень нравится, и это сборка Shadow. Когда Shadow Build включен, все сгенерированные файлы (*.moc, Makefile, *.o) будут сгенерированы в заданном исходном каталоге, поэтому исходный каталог остается чистым. Я перехожу от создателя qt к kdevelop и пытаюсь выяснить, как работает эта функция, поэтому пока я могу создавать результирующий двоичный файл, файлы moc и объектные файлы в дополнительный каталог, используя переменные DESTDIR, OBJECTS_DIR а также MOC_DIR но я не могу создать make-файл в этой директории. Есть идеи?

2 ответа

Решение

AFAIK, что делает QtCreator, в основном сводится к следующему:

 mkdir my_shadow_build
 cd my_shadow_build
 qmake ../my_src_dir

это создает сам Makefile в каталоге build и просто запускает

 make

там создаются все временные файлы в каталоге сборки, используя источники из исходного каталога. Это не требует каких-либо специальных вещей в файле.pro, а зависит только от использования "извне".

Вы также можете попробовать экспериментальный плагин поддержки QMake для KDevelop: https://projects.kde.org/kdev-qmake

При первом запуске он запрашивает папку для сборки и выполняет сборку теней. Обратите внимание, что вам нужно убедиться, что ваши.pro и.pri файлы написаны правильно - это очень легко испортить. CMake намного проще в этом отношении!

Другие вопросы по тегам