LINUX.ORG.RU

Задание флагов gcc при использовании qmake и cmake


0

2

Каким образом при использовании qmake (cmake) можно задать свои флаги gcc при генерации makefile ?
При задании через qmake QMAKE_CXXFLAGS=«флаги» QMAKE_CFLAGS_RELEASE=«флаги» при компиляции видно что они прописываются в makefile, но сразу после них идет стандартное -O2 - Wall, то есть свои флаги попросту пропадают. Вопрос касается и cmake, в котором аналогичная ситуация

Пересобрать Qt с нужными флагами? Эти "-O2 - Wall" задаются в mkspec твоей платформы/компилятора.

gogi
()
Ответ на: комментарий от gogi

То есть нет возможности ни через qmake.conf ни в опциях qmake их задать? Вообще то странно как то
Причем правка makefile тоже не помогает, это -O2 -Wall вылазит все равно, думал что его можно как то поправить в qmake.conf. Зачем тогда в qmake вообще эти опции задания флагов?

SergMarkov
() автор топика
Ответ на: комментарий от SergMarkov

> Зачем тогда в qmake вообще эти опции задания флагов?


Чтобы создать у тебя приятную иллюзию.

К.О.

LamerOk ★★★★★
()

В смаке ты можешь переопределить все что угодно.

Не совсем понял причем тут кумейк... Или причем тут цмаке... ну хз кароче :)

А еще (в случае цмаке) лучше пользоваться *EXTRA_FLAGS

Jetty ★★★★★
()
Ответ на: комментарий от SergMarkov

>То есть нет возможности ни через qmake.conf ни в опциях qmake их задать?

Есть. В qmake.conf ты можешь задать нужные тебе опции, но для этого надо пересобирать. Чтобы не зависеть от системной библиотеки, подсовывай своей программе собранную тобой либу. Изменить конечно всё можно, но без пересборки эти опции будут похоже не применены. А В опциях qmake/cmake ты можешь добавить всяких дополнительных флагов. С -O2 на -O3 так вряд ли получиться переехать, но вот что-нибудь вдухе "-Wextra"/"-fno-exceptions" вполне можно добавить.

gogi
()
Ответ на: комментарий от gogi

Thanks, но вот этого как раз делать крайне неохота, в слаке одна из лучших сборок qt, если не самая лучшая, по крайней мере самая быстрая из всех что видел, и пересобирать ее, с учетом того, что сам автор ее собирает явно не так, как пишет в слакбилдах, не хочется. Жаль, ну ладно :-) Только не пойму откуда тогда берутся эти
-O2 в ручками правленном makefile - из каких то инклюдов самой qt ?

SergMarkov
() автор топика
Ответ на: комментарий от SergMarkov

а в cmake как их задать?

set_target_properties(my_target PROPERTIES COMPILE_FLAGS "-g -Wall -Wextra -Werror -pedantic-errors -Wformat=2 -Winit-self -Wstrict-overflow=5 -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Weffc++ -Wstrict-null-sentinel -Wold-style-cast -Woverloaded-virtual -Wsign-promo -ansi -fno-strict-overflow -fstrict-aliasing -Wctor-dtor-privacy -Wnon-virtual-dtor -Wmissing-include-dirs -Wswitch-default -Wswitch-enum -Wfloat-equal -Wundef -Wshadow -Wconversion -Wlogical-op -Wmissing-declarations -Winline -Wvla")
Pavval ★★★★★
()
Ответ на: комментарий от gogi

Гм, а вообще то стоило поставить свои флаги в /usr/lib/qt/mkspecs/common/g++.conf и флаги прекрасно подхватило.

SergMarkov
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.