summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/ios.yml40
-rw-r--r--packaging/ios/qt-installer-noninteractive.qs60
2 files changed, 100 insertions, 0 deletions
diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml
new file mode 100644
index 000000000..316b2290c
--- /dev/null
+++ b/.github/workflows/ios.yml
@@ -0,0 +1,40 @@
+name: iOS
+on: push
+
+jobs:
+ mobileBuild:
+ runs-on: macOS-latest
+ steps:
+ - name: checkout sources
+ uses: actions/checkout@v1
+ - name: setup Homebrew
+ run: brew install autoconf automake libtool
+ - name: set our Qt build
+ run: |
+ env
+ curl -L --output qt-opensource-mac-x64-5.13.1.dmg https://download.qt.io/archive/qt/5.13/5.13.1/qt-opensource-mac-x64-5.13.1.dmg
+ df -h
+ mkdir -p mnt
+ sudo hdiutil attach -mountroot $PWD/mnt -noverify -noautoopen -verbose qt-opensource-mac-x64-5.13.1.dmg
+ df -h
+ ls -l mnt
+ find mnt
+ ./mnt/qt-opensource-mac-x64-5.13.1/qt-opensource-mac-x64-5.13.1.app/Contents/MacOS/qt-opensource-mac-x64-5.13.1 --platform minimal --script packaging/ios/qt-installer-noninteractive.qs --no-force-installations
+ df -h
+ - name: build Subsurface-mobile for iOS
+ run: |
+ ls -l $HOME $HOME/Qt
+ cd packaging/ios
+ ln -s $HOME/Qt Qt
+ pushd Qt
+ ls -l
+ popd
+ echo "build dependencies"
+ bash -x build.sh -simulator
+ echo "Subsurface-mobile for iOS"
+ cd build-Subsurface-mobile-*for_iOS-Release
+ sed -i.bak 's/-Wall/-Wno-everything/' Makefile # make the build far less verbose
+ make -j2
+
+
+
diff --git a/packaging/ios/qt-installer-noninteractive.qs b/packaging/ios/qt-installer-noninteractive.qs
new file mode 100644
index 000000000..5b1faa5ba
--- /dev/null
+++ b/packaging/ios/qt-installer-noninteractive.qs
@@ -0,0 +1,60 @@
+// http://stackoverflow.com/a/34032216/78204
+
+function Controller() {
+ installer.autoRejectMessageBoxes();
+ installer.setMessageBoxAutomaticAnswer("OverwriteTargetDirectory", QMessageBox.Yes);
+ installer.installationFinished.connect(function() {
+ gui.clickButton(buttons.NextButton);
+ })
+}
+
+Controller.prototype.WelcomePageCallback = function() {
+ gui.clickButton(buttons.NextButton,3000);
+}
+
+Controller.prototype.CredentialsPageCallback = function() {
+ gui.clickButton(buttons.NextButton);
+}
+
+Controller.prototype.IntroductionPageCallback = function() {
+ gui.clickButton(buttons.NextButton);
+}
+
+Controller.prototype.TargetDirectoryPageCallback = function()
+{
+ gui.currentPageWidget().TargetDirectoryLineEdit.setText(installer.value("HomeDir") + "/Qt");
+ //gui.currentPageWidget().TargetDirectoryLineEdit.setText(installer.value("InstallerDirPath") + "/Qt");
+ //gui.currentPageWidget().TargetDirectoryLineEdit.setText("/scratch/Qt");
+ gui.clickButton(buttons.NextButton);
+}
+
+Controller.prototype.ComponentSelectionPageCallback = function() {
+ var widget = gui.currentPageWidget();
+
+ widget.deselectAll();
+ widget.selectComponent('qt.qt5.5131.ios');
+
+ 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);
+}