qmake рулит!

в связи с переездом со scons на qmake захотелось чиркнуть заметку.

начну с небольшой оды qmake-у. тулза получилась отличная. работает очень быстро и надёжно. мне пришлось написать всего 3 строки чтобы собрать тот же исходный код не только по x86, но и под arm! и эти строки касались пути к хедерам, а сами правила, описанные в .pro-файлах, остались неизменными.

и ещё. в ходе переезда столкнулся с интересной недокументированной фичей qmake.

в нашем проекте (b4.5, GUI) для связи между приложениями используется D-Bus. Чтобы для приложения работа по D-Bus выглядела максимально прозрачно, мы генерируем из .xml описания .cpp и .h файлы, подключаем их и собираем программу. для системы сборки такой подход означает наличие генерирующего правила и зависимостей от генерируемых файлов (.cpp, .h). я с этого и начал, но внутренний голос подсказал мне, что я изобретаю колесо ;) и он оказался прав.

в итоге раскопок наткнулся на топик, где сказано, что нужно в .pro-файле просто прописать DBUS_INTERFACES и всё остальное qmake сделает сам. подтверждением тому служит наличие файла dbusinterfaces.prf в каталоге /usr/share/qt4/mkspecs/features. наверное, скоро это и в документации появится…