On Wednesday, 13 February 2019 02:06:13 PST Simon Hausmann wrote:
>     (2) Have a super-project that allows building all of Qt with one call to
> "cmake", a call to "cmake --build" and finally "$maketool install".
> 
> The latter has not been "developed" yet but I think it's necessary to allow
> for a convenient transition for the users of Qt.

#2 can be supported with a plain script, or even just a plain Makefile. All 
you need is the dependency order.

Attached is the one I use. You can run
        make -f Makefile.qthelpers T=target
and it'll run
        make target
in each of the submodules.

You can even make it run shell commands:
        make -f Makefile.qthelpers CMD='f() { cd $$1; git pull; } f'

The above I often run with -j so it launches all gits in parallel :-)
-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel System Software Products
all:

qtbase :
MODULES += qtbase

qtnetworkauth : qtbase 
MODULES += qtnetworkauth

qtx11extras : qtbase 
MODULES += qtx11extras

qtserialport : qtbase 
MODULES += qtserialport

qtimageformats : qtbase 
MODULES += qtimageformats

qtxmlpatterns : qtbase 
MODULES += qtxmlpatterns

qtsvg : qtbase 
MODULES += qtsvg

qtserialbus : qtserialport 
MODULES += qtserialbus

qtdeclarative : qtbase qtsvg qtxmlpatterns
MODULES += qtdeclarative

qtremoteobjects : qtbase qtdeclarative
MODULES += qtremoteobjects

qtscxml : qtbase qtdeclarative 
MODULES += qtscxml

qtcanvas3d : qtdeclarative 
MODULES += qtcanvas3d

qtwebsockets : qtbase qtdeclarative
MODULES += qtwebsockets

qtgamepad : qtbase qtdeclarative
MODULES += qtgamepad

qtwayland : qtbase qtdeclarative
MODULES += qtwayland

qtconnectivity : qtbase qtdeclarative
MODULES += qtconnectivity

qtsensors : qtbase qtdeclarative
MODULES += qtsensors

qtgraphicaleffects : qtdeclarative 
MODULES += qtgraphicaleffects

qtmultimedia : qtbase qtdeclarative
MODULES += qtmultimedia

qttools : qtbase qtdeclarative
MODULES += qttools

qtwebglplugin : qtbase qtwebsockets qtdeclarative
MODULES += qtwebglplugin

qtwebchannel : qtbase qtdeclarative qtwebsockets
MODULES += qtwebchannel

qt3d : qtbase qtdeclarative qtimageformats qtgamepad
MODULES += qt3d

qtquickcontrols2 : qtgraphicaleffects qtimageformats
MODULES += qtquickcontrols2

qtquickcontrols : qtdeclarative qtgraphicaleffects
MODULES += qtquickcontrols

qtvirtualkeyboard : qtbase qtdeclarative qtsvg qtmultimedia qtquickcontrols
MODULES += qtvirtualkeyboard

qtspeech : qtbase qtdeclarative qtmultimedia
MODULES += qtspeech

qtdatavis3d : qtbase qtdeclarative qtmultimedia
MODULES += qtdatavis3d

qtcharts : qtbase qtdeclarative qtmultimedia
MODULES += qtcharts

qtscript : qtbase qttools
MODULES += qtscript

qttranslations : qttools 
MODULES += qttranslations

qtlocation : qtbase qtdeclarative qtquickcontrols qtquickcontrols2 qtserialport
MODULES += qtlocation

qtwebengine : qtquickcontrols qtwebchannel qtlocation qttools
MODULES += qtwebengine

qtwebview : qtdeclarative qtwebengine
MODULES += qtwebview

all: $(MODULES)
list:
	@$(MAKE) -sf $(firstword $(MAKEFILE_LIST)) CMD=@echo T= | sed s/-echo//
$(MODULES):
	$(CMD) $@ $(T)

CMD = +$(MAKE) -C

.PHONY: all list $(MODULES)
.SUFFIXES:
_______________________________________________
Development mailing list
Development@qt-project.org
https://lists.qt-project.org/listinfo/development

Reply via email to