Add windows installer script for use by TravisCI when compiling on Windows VM
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
/*
|
||||
* Qt Installer script for a non-interactive installation of Qt5 on Windows.
|
||||
* Installs the 64-bit package if environment variable PLATFORM="x64".
|
||||
*/
|
||||
|
||||
// jshint strict:false
|
||||
/* globals QInstaller, QMessageBox, buttons, gui, installer, console */
|
||||
|
||||
// Run with:
|
||||
// .\qt-unified-windows-x86-3.0.4-online.exe --verbose --script tools\qt-installer-windows.qs
|
||||
|
||||
// Look for Name elements in
|
||||
// https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/qt5_5123/Updates.xml
|
||||
// Unfortunately it is not possible to disable deps like qt.tools.qtcreator
|
||||
var INSTALL_COMPONENTS = [
|
||||
installer.environmentVariable("PLATFORM") == "x64" ?
|
||||
"qt.qt5.5123.win64_msvc2017_64" :
|
||||
"qt.qt5.5123.win32_msvc2017",
|
||||
];
|
||||
|
||||
function Controller() {
|
||||
// Continue on installing to an existing (possibly empty) directory.
|
||||
installer.setMessageBoxAutomaticAnswer("OverwriteTargetDirectory", QMessageBox.Yes);
|
||||
// Continue at "SHOW FINISHED PAGE"
|
||||
installer.installationFinished.connect(function() {
|
||||
console.log("installationFinished");
|
||||
gui.clickButton(buttons.NextButton);
|
||||
});
|
||||
}
|
||||
|
||||
Controller.prototype.WelcomePageCallback = function() {
|
||||
console.log("Step: " + gui.currentPageWidget());
|
||||
// At least for 3.0.4 immediately clicking Next fails, so wait a bit.
|
||||
// https://github.com/benlau/qtci/commit/85cb986b66af4807a928c70e13d82d00dc26ebf0
|
||||
gui.clickButton(buttons.NextButton, 1000);
|
||||
};
|
||||
|
||||
Controller.prototype.CredentialsPageCallback = function() {
|
||||
console.log("Step: " + gui.currentPageWidget());
|
||||
gui.clickButton(buttons.NextButton);
|
||||
};
|
||||
|
||||
Controller.prototype.IntroductionPageCallback = function() {
|
||||
console.log("Step: " + gui.currentPageWidget());
|
||||
gui.clickButton(buttons.NextButton);
|
||||
};
|
||||
|
||||
Controller.prototype.TargetDirectoryPageCallback = function() {
|
||||
console.log("Step: " + gui.currentPageWidget());
|
||||
// Keep default at "C:\Qt".
|
||||
//gui.currentPageWidget().TargetDirectoryLineEdit.setText("E:\\Qt");
|
||||
gui.clickButton(buttons.NextButton);
|
||||
};
|
||||
|
||||
Controller.prototype.ComponentSelectionPageCallback = function() {
|
||||
console.log("Step: " + gui.currentPageWidget());
|
||||
var page = gui.currentPageWidget();
|
||||
page.deselectAll();
|
||||
for (var i = 0; i < INSTALL_COMPONENTS.length; i++) {
|
||||
page.selectComponent(INSTALL_COMPONENTS[i]);
|
||||
}
|
||||
gui.clickButton(buttons.NextButton);
|
||||
};
|
||||
|
||||
Controller.prototype.LicenseAgreementPageCallback = function() {
|
||||
console.log("Step: " + gui.currentPageWidget());
|
||||
gui.currentPageWidget().AcceptLicenseRadioButton.setChecked(true);
|
||||
gui.clickButton(buttons.NextButton);
|
||||
};
|
||||
|
||||
Controller.prototype.StartMenuDirectoryPageCallback = function() {
|
||||
console.log("Step: " + gui.currentPageWidget());
|
||||
gui.clickButton(buttons.NextButton);
|
||||
};
|
||||
|
||||
Controller.prototype.ReadyForInstallationPageCallback = function() {
|
||||
console.log("Step: " + gui.currentPageWidget());
|
||||
gui.clickButton(buttons.NextButton);
|
||||
};
|
||||
|
||||
Controller.prototype.FinishedPageCallback = function() {
|
||||
console.log("Step: " + gui.currentPageWidget());
|
||||
// TODO somehow the installer crashes after this step.
|
||||
// https://stackoverflow.com/questions/25105269/silent-install-qt-run-installer-on-ubuntu-server
|
||||
var checkBoxForm = gui.currentPageWidget().LaunchQtCreatorCheckBoxForm;
|
||||
if (checkBoxForm && checkBoxForm.launchQtCreatorCheckBox) {
|
||||
checkBoxForm.launchQtCreatorCheckBox.checked = false;
|
||||
}
|
||||
gui.clickButton(buttons.FinishButton);
|
||||
};
|
||||
|
||||
// vim: set ft=javascript:
|
||||
Reference in New Issue
Block a user