Настройка теневой сборки вручную в qmake

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

2 ответов


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

 mkdir my_shadow_build
 cd my_shadow_build
 qmake ../my_src_dir

это создает сам файл Makefile в каталоге сборки и просто работает

 make

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


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

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