Ручная настройка теневой сборки в 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 намного проще в этом отношении!