--- mkspecs/features/qt.prf.orig +++ mkspecs/features/qt.prf @@ -145,7 +145,15 @@ #specific module settings !isEmpty(QT_BUILD_TREE):QMAKE_LIBDIR = $$QT_BUILD_TREE/lib $$QMAKE_LIBDIR #as above, prepending prevents us from picking up "stale" libs QMAKE_LIBDIR += $$QMAKE_LIBDIR_QT + for(QTLIB, $$list($$lower($$unique(QT)))) { + +# message(qt: 'LIBS' qt before $$QTLIB is '$${LIBS}') +# message(qt: 'INCLUDEPATH' qt before $$QTLIB is '$${INCLUDEPATH}') +# message(qt: 'QMAKE_LFLAGS' qt before $$QTLIB is '$${QMAKE_LFLAGS}') +# message(qt: 'QMAKE_CFLAGS' qt before $$QTLIB is '$${QMAKE_CFLAGS}') +# message(qt: 'QMAKE_CXXFLAGS' qt before $$QTLIB is '$${QMAKE_CXXFLAGS}') + unset(qlib_style) !qt_debug:!qt_release { CONFIG(debug, debug|release):qlib_style = debug @@ -206,8 +214,43 @@ qtAddLibrary($$qlib) } } +# message(qt: 'LIBS' qt after $$QTLIB is '$${LIBS}') +# message(qt: 'INCLUDEPATH' qt after $$QTLIB is '$${INCLUDEPATH}') +# message(qt: 'QMAKE_LFLAGS' qt after $$QTLIB is '$${QMAKE_LFLAGS}') +# message(qt: 'QMAKE_CFLAGS' qt after $$QTLIB is '$${QMAKE_CFLAGS}') +# message(qt: 'QMAKE_CXXFLAGS' qt after $$QTLIB is '$${QMAKE_CXXFLAGS}') +} + +# remove Qt's libdir from various flags; it is already part of LIBS, +# and should be used only to find Qt's libraries. Qt puts LIBDIR +# before all other paths, so it is critical that this variable not +# contain anything questionable. +QMAKE_LIBDIR -= $$QMAKE_LIBDIR_QT +QMAKE_LFLAGS -= -L$$QMAKE_LIBDIR_QT +!isEqual($$QMAKE_LIBDIR_QT, $$[QT_INSTALL_PREFIX]/lib) { + QMAKE_LFLAGS -= -L$$[QT_INSTALL_PREFIX]/lib +} + +# remove Qt's incdir from various flags; it is already part of +# INCLUDEPATH. C*FLAGS come before the INCPATH build from +# INCLUDEPATH, so they should never have this -I in it (or, reall, any +# other -I but instead just remove the the obvious choices) +QMAKE_CFLAGS -= -I$$QMAKE_INCDIR_QT +QMAKE_CXXFLAGS -= -I$$QMAKE_INCDIR_QT +QMAKE_OBJECTIVE_CFLAGS -= -I$$QMAKE_INCDIR_QT +QMAKE_OBJECTIVE_CXXFLAGS -= -I$$QMAKE_INCDIR_QT +!isEqual($$QMAKE_INCDIR_QT, $$[QT_INSTALL_PREFIX]/include) { + QMAKE_CFLAGS -= -I$$[QT_INSTALL_PREFIX]/include + QMAKE_CXXFLAGS -= -I$$[QT_INSTALL_PREFIX]/include + QMAKE_OBJECTIVE_CFLAGS -= -I$$[QT_INSTALL_PREFIX]/include + QMAKE_OBJECTIVE_CXXFLAGS -= -I$$[QT_INSTALL_PREFIX]/include } +#message(qt: QMAKE_CFLAGS at end is $${QMAKE_CFLAGS}) +#message(qt: QMAKE_CXXFLAGS at end is $${QMAKE_CXXFLAGS}) +#message(qt: QMAKE_OBJECTIVE_CFLAGS at end is $${QMAKE_OBJECTIVE_CFLAGS}) +#message(qt: QMAKE_OBJECTIVE_CXXFLAGS at end is $${QMAKE_OBJECTIVE_CXXFLAGS}) + qt_compat { !qt_compat_no_warning:QTDIR_build:warning(***USE of COMPAT inside of QTDIR!**) #just for us INCLUDEPATH *= $$QMAKE_INCDIR_QT/Qt