QmakeCFLAGS: различия между версиями
м (+категория) |
Нет описания правки |
||
Строка 1: | Строка 1: | ||
[[Category:Devel]] | [[Category:Devel]] | ||
{{MovedFromFreesourceInfo|AltLinux/Sisyphus/devel/qmakeCFLAGS}} | {{MovedFromFreesourceInfo|AltLinux/Sisyphus/devel/qmakeCFLAGS}} | ||
Строка 11: | Строка 10: | ||
echo "QMAKE_CXXFLAGS_RELEASE = %optflags" >> "$FILE" | echo "QMAKE_CXXFLAGS_RELEASE = %optflags" >> "$FILE" | ||
echo "QMAKE_CFLAGS_RELEASE = %optflags" >> "$FILE"; done</pre> | echo "QMAKE_CFLAGS_RELEASE = %optflags" >> "$FILE"; done</pre> | ||
{{Category navigation|title=Программисту|category=Программисту|sortkey={{SUBPAGENAME}}}} |
Текущая версия от 16:30, 2 июля 2015
В состав библиотеки Qt входит замечательная программа qmake, которая создаёт Makefile'ы на основании правил, записанных в файлах-описаниях проекта с расширением .pro. Беда состоит в том, что директивы для компилятора qmake берёт из своего собственного файла, /usr/lib/qt3/mkspecs/linux-cxx/qmake.conf. Для сборки пакетов rpm вполне обычно желание использовать стандартные значения %optflags для сборки пакета. Выход состоит в прописывании строчек вида
QMAKE_CXXFLAGS_RELEASE = ...
и
QMAKE_CFLAGS_RELEASE = ...
в .pro файлах. Первая строчка нужна для указания флагов компилятору C++, вторая -- компилятору C. Соответственно, если в проекте все исходники только в С++ или в C, то нужна только одна из этих строчек. Если в проекте имеется несколько файлов .pro, то прописывать флаги компилятора нужно во всех. Из rpm'овского spec'а это удобно делать конструкцией вроде такой:
find . -type f -name '*.pro' | while read FILE; do echo "QMAKE_CXXFLAGS_RELEASE = %optflags" >> "$FILE" echo "QMAKE_CFLAGS_RELEASE = %optflags" >> "$FILE"; done