aboutsummaryrefslogtreecommitdiffstats
path: root/.travis.yml
diff options
context:
space:
mode:
Diffstat (limited to '.travis.yml')
-rw-r--r--.travis.yml72
1 files changed, 72 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml
index cead59a79..54455ff45 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -8,6 +8,10 @@ language: cpp
git:
submodules: false
+env:
+ global:
+ - QT_INSTALL_DIR=~/Qt
+
stages:
- name: Build Qbs and and run autotests
@@ -29,3 +33,71 @@ jobs:
name: With QMake on Debian stretch (linux_amd64)
script:
- docker-compose run --rm ${SERVICE} scripts/build-qbs-with-qmake.sh
+
+ - &build-on-macos
+ stage: Build Qbs and and run autotests
+ name: With Qbs on macOS (xcode 10.2)
+ os: osx
+ osx_image: xcode10.2
+ addons:
+ homebrew:
+ packages:
+ - p7zip
+ update: true
+ env:
+ # Address sanitizer slows autotests down too much.
+ # We would hit the maximum build time on Travis.
+ BUILD_OPTIONS=modules.qbsbuildconfig.enableAddressSanitizer:false
+ QMAKE_PATH=${QT_INSTALL_DIR}/5.12.4/clang_64/bin/qmake
+ PATH="${QT_INSTALL_DIR}/Qt Creator.app/Contents/MacOS:${PATH}"
+ QBS_BUILD_PROFILE=qt
+ before_install:
+ - ./scripts/install-qt.sh -d ${QT_INSTALL_DIR} --version 5.12.4 qtbase qtdeclarative qttools qtscript
+ - ./scripts/install-qt.sh -d ${QT_INSTALL_DIR} --version 4.9.2 qtcreator
+ - pip2 install --user beautifulsoup4 lxml
+ script:
+ - qbs setup-toolchains --detect
+ - qbs setup-qt ${QMAKE_PATH} qt
+ - qbs config qt.baseProfile xcode-macosx-x86_64
+ - qbs config defaultProfile qt
+ - scripts/build-qbs-with-qbs.sh
+
+# Disabled because of https://bugreports.qt.io/browse/QBS-1456
+# - <<: *build-on-macos
+# name: With Qbs on macOS (xcode 9.4)
+# osx_image: xcode9.4
+
+ - &build-on-windows
+ stage: Build Qbs and and run autotests
+ name: With Qbs on Windows (Visual Studio 2017)
+ os: windows
+ env:
+ # Need to build in release mode. Otherwise autotests would be too slow.
+ BUILD_OPTIONS="config:release"
+ QT_INSTALL_DIR=C:/Qt
+ QMAKE_PATH=${QT_INSTALL_DIR}/5.12.4/msvc2017_64/bin/qmake.exe
+ PATH="/c/Qt/Tools/QtCreator/bin:${PATH}"
+ WITH_DOCS=0
+ QBS_BUILD_PROFILE=qt
+ before_install:
+ # Disable unnecessary background services which tend to consume
+ # a lot of resources
+ - powershell -Command 'Set-MpPreference -DisableRealtimeMonitoring $true'
+ - powershell -Command 'Set-MpPreference -DisableArchiveScanning $true'
+ - powershell -Command 'Set-MpPreference -DisableBehaviorMonitoring $true'
+ - powershell -Command 'sc.exe config TrustedInstaller start=disabled; sc.exe stop TrustedInstaller'
+ - powershell -Command 'sc.exe config wuauserv start=disabled; sc.exe stop wuauserv'
+ - powershell -Command 'Add-MpPreference -ExclusionPath C:\'
+ - powershell -Command 'Add-MpPreference -ExclusionProcess qbs.exe'
+ - powershell -Command 'Add-MpPreference -ExclusionProcess cl.exe'
+ - powershell -Command 'Add-MpPreference -ExclusionProcess link.exe'
+
+ # Install Qbs and Qt
+ - ./scripts/install-qt.sh -d ${QT_INSTALL_DIR} --version 5.12.4 --toolchain win64_msvc2017_64 qtbase qtdeclarative qttools qtscript
+ - ./scripts/install-qt.sh -d ${QT_INSTALL_DIR} --version 4.9.2 qtcreator
+ script:
+ - qbs setup-toolchains --detect
+ - qbs setup-qt ${QMAKE_PATH} qt
+ - qbs config qt.baseProfile MSVC2017-x86
+ - qbs config defaultProfile qt
+ - scripts/build-qbs-with-qbs.sh