Ручная настройка теневой сборки в qmake
Есть функция, которая мне очень нравится в qt creator, и это Shadow build. Когда Shadow Build включен, все сгенерированные файлы (*.moc, Makefile, *.o) будут сгенерированы в данном исходном каталоге, поэтому каталог источников будет очищен. Я перехожу от создателя qt к kdevelop, и я пытаюсь понять, как эта функция работает, до сих пор я могу создать результирующие двоичные файлы, файлы moc и объектные файлы в дополнительный каталог, используя переменные DESTDIR
, OBJECTS_DIR
и MOC_DIR
, но я не могу создать make файл в этой директории. Любые идеи?
Ответы
Ответ 1
AFAIK, что делает QtCreator, в основном сводится к следующему:
mkdir my_shadow_build
cd my_shadow_build
qmake ../my_src_dir
создает сам Makefile в каталоге сборки и просто запускает
make
создает все временные файлы в каталоге сборки, используя источники из исходного каталога. Это не требует каких-либо специальных материалов в файле .pro, а зависит от использования "снаружи".
Ответ 2
Вы также можете попробовать экспериментальный плагин поддержки QMake для KDevelop: https://projects.kde.org/kdev-qmake
Он запрашивает у вас папку для сборки при первом запуске и делает теневое создание. Обратите внимание, что вам нужно убедиться, что ваши файлы .pro и .pri написаны правильно - довольно легко его испортить. CMake намного проще в этом отношении!