#!/bin/bash set -e QT_DIR=$1 test -e $QT_DIR || mkdir -p $QT_DIR cat << EOF > $QT_DIR/5.7.0-installer.qs // Bases on script from http://stackoverflow.com/a/34032216 function Controller() { installer.autoRejectMessageBoxes(); installer.installationFinished.connect(function() { gui.clickButton(buttons.NextButton); }) } Controller.prototype.WelcomePageCallback = function() { gui.clickButton(buttons.NextButton); } Controller.prototype.CredentialsPageCallback = function() { gui.clickButton(buttons.NextButton); } Controller.prototype.IntroductionPageCallback = function() { gui.clickButton(buttons.NextButton); } Controller.prototype.TargetDirectoryPageCallback = function() { gui.currentPageWidget().TargetDirectoryLineEdit.setText("$QT_DIR/5.7.0"); gui.clickButton(buttons.NextButton); } Controller.prototype.ComponentSelectionPageCallback = function() { var widget = gui.currentPageWidget(); // You can get these component names by running the installer with the // --verbose flag. It will then print out a resource tree. widget.deselectAll(); widget.selectComponent("qt.55.gcc_64"); widget.selectComponent("qt.57.qtwebengine.gcc_64"); widget.selectComponent("qt.57.android_x86"); widget.selectComponent("qt.57.android_armv7"); // widget.deselectComponent("..."); gui.clickButton(buttons.NextButton); } Controller.prototype.LicenseAgreementPageCallback = function() { gui.currentPageWidget().AcceptLicenseRadioButton.setChecked(true); gui.clickButton(buttons.NextButton); } Controller.prototype.StartMenuDirectoryPageCallback = function() { gui.clickButton(buttons.NextButton); } Controller.prototype.ReadyForInstallationPageCallback = function() { gui.clickButton(buttons.NextButton); } Controller.prototype.FinishedPageCallback = function() { var checkBoxForm = gui.currentPageWidget().LaunchQtCreatorCheckBoxForm if (checkBoxForm && checkBoxForm.launchQtCreatorCheckBox) { checkBoxForm.launchQtCreatorCheckBox.checked = false; } gui.clickButton(buttons.FinishButton); } EOF if [ ! -e $QT_DIR/5.7.0 ]; then echo "Installing Qt SDK 5.7.0 to $QT_DIR/5.7.0 ..." /vagrant/cache/qt-opensource-linux-x64-android-5.7.0.run --platform minimal --script $QT_DIR/5.7.0-installer.qs --verbose echo "Qt SDK 5.7.0 installation done." fi rm $QT_DIR/5.7.0-installer.qs