Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 588446a8 authored by Thiago Macieira's avatar Thiago Macieira Committed by Michal Marek
Browse files

Use pkg-config to find Qt 4 and 5 instead of direct qmake



The Qt Project recommendation is that there should always be a "qmake"
binary and it should never be renamed. If it's necessary to handle
multiple Qt versions, the Qt Project recommends using qtchooser.

Unfortunately, some distros do not follow the recommendation, so we
would need to check qmake-qt4, qmake-qt5, etc. So, instead, let's try
pkg-config.

Signed-off-by: default avatarThiago Macieira <thiago.macieira@intel.com>
Reported-by: default avatarAlexey Brodkin <abrodkin@synopsys.com>
Acked-by: default avatarAlexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: default avatarMichal Marek <mmarek@suse.com>
parent f6aad261
Loading
Loading
Loading
Loading
+13 −24
Original line number Diff line number Diff line
@@ -227,35 +227,24 @@ $(obj)/.tmp_qtcheck: $(src)/Makefile
# Qt needs some extra effort...
$(obj)/.tmp_qtcheck:
	@set -e; $(kecho) "  CHECK   qt"; \
	qtver=`qmake -query QT_VERSION` || { \
	    echo >&2 "*"; \
	    echo >&2 "* qmake failed."; \
	    echo >&2 "*"; \
	    exit 1; \
	}; \
	qtlibdir=`qmake -query QT_INSTALL_LIBS`; \
	qthdrdir=`qmake -query QT_INSTALL_HEADERS`; \
	qtbindir=`qmake -query QT_INSTALL_BINS`; \
	cflags="-I$$qthdrdir -I$$qthdrdir/QtCore -I$$qthdrdir/QtGui"; \
	case "$$qtver" in \
	5.*) \
	    cflags="$$cflags -I$$qthdrdir/QtWidgets -std=c++11 -fPIC"; \
	    libs="-L$$qtlibdir -lQt5Widgets -lQt5Gui -lQt5Core "; \
	    ;; \
	4.*) \
	    libs="-L$$qtlibdir -lQtGui -lQtCore"; \
	    ;; \
	*) \
	if pkg-config --exists Qt5Core; then \
	    cflags="-std=c++11 -fPIC `pkg-config --cflags Qt5Core Qt5Gui Qt5Widgets`"; \
	    libs=`pkg-config --libs Qt5Core Qt5Gui Qt5Widgets`; \
	    moc=`pkg-config --variable=host_bins Qt5Core`/moc; \
	elif pkg-config --exists QtCore; then \
	    cflags=`pkg-config --cflags QtCore QtGui`; \
	    libs=`pkg-config --libs QtCore QtGui`; \
	    moc=`pkg-config --variable=moc_location QtCore`; \
	else \
	    echo >&2 "*"; \
	    echo >&2 "* Found qmake but it is for Qt version $$qtver, which is not supported."; \
	    echo >&2 "* Please install either Qt 4.8 or 5.x."; \
	    echo >&2 "* Could not find Qt via pkg-config."; \
	    echo >&2 "* Please install either Qt 4.8 or 5.x. and make sure it's in PKG_CONFIG_PATH"; \
	    echo >&2 "*"; \
	    exit 1; \
	    ;; \
	esac; \
	fi; \
	echo "KC_QT_CFLAGS=$$cflags" > $@; \
	echo "KC_QT_LIBS=$$libs" >> $@; \
	echo "KC_QT_MOC=$$qtbindir/moc" >> $@
	echo "KC_QT_MOC=$$moc" >> $@
endif

$(obj)/gconf.o: $(obj)/.tmp_gtkcheck