# Notes: # - Minimal appveyor.yml file is an empty file. All sections are optional. # - Indent each level of configuration with 2 spaces. Do not use tabs! # - All section names are case-sensitive. # - Section names should be unique on each level. #---------------------------------# # general configuration # #---------------------------------# # version format version: '{build}-{branch}' # branches to build branches: # whitelist only: - develop - master # Do not build on tags (GitHub and BitBucket) skip_tags: true platform: - x86 - x64 #---------------------------------# # environment setup # #---------------------------------# # set clone depth clone_depth: 1 # clone entire repository history if not defined # fetch repository as zip archive shallow_clone: false # default is "false" environment: ACCESS_TOKEN: secure: RUhnEHqaR8KhalOMWwZZOoO342Ja50QV4KpEWdm9g3pG+jG7i6aJqUmeKF1l5VN6dzksk1u+yN6pOLnU8oGcaVQ6v+1dpKK1oZvF0tyHhNE= matrix: - job_name: Windows_Qt_6_4_(GCC_x64) APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 COMPILER: mingw QT: Qt\6.4\mingw_64 QT_VERSION: Qt6_4 BUILD_SYSTEM: "qbs" GCC_VERSION: 11.2 MINGW_PATH: C:\Qt\Tools\mingw1120_64\bin ARCH: x64 PYTHON: "C:\\Python311-x64" PLATFORM: "Windows10+" DEPLOY: true - job_name: Windows_Qt_5_15_(qbs_GCC_x86) APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 COMPILER: mingw QT: Qt\5.15\mingw81_32 QT_VERSION: Qt5_15 BUILD_SYSTEM: "qbs" GCC_VERSION: 8.1 MINGW_PATH: C:\Qt\Tools\mingw810_32\bin ARCH: x86 PYTHON: "C:\\Python311" PLATFORM: "Windows7+" DEPLOY: true - job_name: Windows_Qt_5_6_(GCC_x86) APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 COMPILER: mingw QT: Qt\5.6\mingw49_32 QT_VERSION: Qt5_6 BUILD_SYSTEM: "make" MINGW_PATH: C:\Qt\Tools\mingw492_32\bin ARCH: x86 PYTHON: "C:\\Python38" PLATFORM: "WindowsXP+" DEPLOY: true - job_name: MacOS_12_Qt_6_4 (multibundle) APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey COMPILER: clang QT: $HOME/Qt/6.4/macos QT_VERSION: Qt6_4 BUILD_SYSTEM: "qbs" ARCH: x64 XCODE_VERSION: 13.4.1 PLATFORM: "macOS11+" MACOS_DEPLOYMENT_TARGET: 11.0 MULTI_BUNDLE: true ENABLE_CONAN: true DEPLOY: true - job_name: MacOS_12_Qt_6_4 (singlebundle) APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey COMPILER: clang QT: $HOME/Qt/6.4/macos QT_VERSION: Qt6_4 BUILD_SYSTEM: "qbs" ARCH: x64 XCODE_VERSION: 13.4.1 PLATFORM: "macOS11+" MACOS_DEPLOYMENT_TARGET: 11.0 MULTI_BUNDLE: false ENABLE_CONAN: true DEPLOY: true - job_name: MacOS_10_15_Qt_5_15 (qbs, multibundle) APPVEYOR_BUILD_WORKER_IMAGE: macos-catalina COMPILER: clang QT: $HOME/Qt/5.15/clang_64 QT_VERSION: Qt5_15 BUILD_SYSTEM: "qbs" ARCH: x64 XCODE_VERSION: 12.3 PLATFORM: "macOS10.13+" MACOS_DEPLOYMENT_TARGET: 10.13 MULTI_BUNDLE: true ENABLE_CONAN: false DEPLOY: true - job_name: MacOS_10_15_Qt_5_15 (qbs, singlebundle) APPVEYOR_BUILD_WORKER_IMAGE: macos-catalina COMPILER: clang QT: $HOME/Qt/5.15/clang_64 QT_VERSION: Qt5_15 BUILD_SYSTEM: "qbs" ARCH: x64 XCODE_VERSION: 12.3 PLATFORM: "macOS10.13+" MACOS_DEPLOYMENT_TARGET: 10.13 MULTI_BUNDLE: false ENABLE_CONAN: false DEPLOY: true - job_name: Windows_Qt_5_15_(make_GCC_x86) APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 COMPILER: mingw QT: Qt\5.15\mingw81_32 QT_VERSION: Qt5_15 BUILD_SYSTEM: "make" MINGW_PATH: C:\Qt\Tools\mingw810_32\bin ARCH: x86 PYTHON: "C:\\Python311" PLATFORM: "Windows7+" DEPLOY: false - job_name: Windows_Qt_6_4_(MSVC_x64) APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 COMPILER: msvc QT: Qt\6.4\msvc2019_64 QT_VERSION: Qt6_4 BUILD_SYSTEM: "qbs" MSVC_PATH: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.29.30133\\bin\\Hostx64\\x64" ARCH: x64 PYTHON: "C:\\Python311-x64" PLATFORM: "Windows10+" DEPLOY: false - job_name: Windows_Qt_6_4_(MSVC_arm64) APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 COMPILER: msvc QT: Qt\6.4\msvc2019_arm64 QT_VERSION: Qt6_4 BUILD_SYSTEM: "qbs" MSVC_PATH: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.29.30133\\bin\\Hostx64\\arm64" ARCH: arm64 PYTHON: "C:\\Python311-x64" PLATFORM: "Windows10+" DEPLOY: false - job_name: Windows_Qt_5_15_(qbs_GCC_x64) APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 COMPILER: mingw QT: Qt\5.15\mingw81_64 QT_VERSION: Qt5_15 BUILD_SYSTEM: "qbs" GCC_VERSION: 8.1 MINGW_PATH: C:\Qt\Tools\mingw810_64\bin ARCH: x64 PYTHON: "C:\\Python311-x64" PLATFORM: "Windows7+" DEPLOY: false - job_name: Windows_Qt_5_15_(qbs_MSVC_x64) APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 COMPILER: msvc QT: Qt\5.15\msvc2019_64 BUILD_SYSTEM: "qbs" MSVC_PATH: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.29.30133\\bin\\Hostx64\\x64" VSVER: 16 ARCH: x64 PYTHON: "C:\\Python311-x64" PLATFORM: "Windows7+" DEPLOY: false - job_name: Windows_Qt_5_15_(make_GCC_x64) APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 COMPILER: mingw QT: Qt\5.15\mingw81_64 QT_VERSION: Qt5_15 BUILD_SYSTEM: "make" MINGW_PATH: C:\Qt\Tools\mingw810_64\bin ARCH: x64 PYTHON: "C:\\Python311-x64" PLATFORM: "Windows7+" DEPLOY: false - job_name: Windows_Qt_5_15_(nmake_MSVC_x64) APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 COMPILER: msvc QT: Qt\5.15\msvc2019_64 BUILD_SYSTEM: "nmake" VSVER: 16 ARCH: x64 PYTHON: "C:\\Python311-x64" PLATFORM: "Windows7+" DEPLOY: false - job_name: MacOS_10_15_Qt_5_15 (make) APPVEYOR_BUILD_WORKER_IMAGE: macos-catalina COMPILER: clang QT: $HOME/Qt/5.15/clang_64 QT_VERSION: Qt5_15 BUILD_SYSTEM: "make" ARCH: x64 XCODE_VERSION: 12.3 PLATFORM: "macOS10.13+" DEPLOY: false - job_name: Windows_Qt_5_6_(MSVC_x64) APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 COMPILER: msvc QT: Qt\5.6\msvc2015_64 QT_VERSION: Qt5_6 BUILD_SYSTEM: "nmake" VSVER: 14 ARCH: x64 PYTHON: "C:\\Python38-x64" PLATFORM: "WindowsXP+" DEPLOY: false matrix: fast_finish: false exclude: - platform: x86 job_name: Windows_Qt_6_4_(GCC_x64) - platform: x86 job_name: Windows_Qt_6_4_(MSVC_x64) - platform: x86 job_name: Windows_Qt_6_4_(MSVC_arm64) - platform: x86 job_name: Windows_Qt_5_15_(make_GCC_x64) - platform: x86 job_name: Windows_Qt_5_15_(nmake_MSVC_x64) - platform: x86 job_name: Windows_Qt_5_15_(qbs_GCC_x64) - platform: x86 job_name: Windows_Qt_5_15_(qbs_MSVC_x64) - platform: x86 job_name: Windows_Qt_5_6_(MSVC_x64) - platform: x86 job_name: MacOS_12_Qt_6_4 (multibundle) - platform: x86 job_name: MacOS_12_Qt_6_4 (singlebundle) - platform: x86 job_name: MacOS_10_15_Qt_5_15 (qbs, multibundle) - platform: x86 job_name: MacOS_10_15_Qt_5_15 (qbs, singlebundle) - platform: x86 job_name: MacOS_10_15_Qt_5_15 (make) - platform: x64 job_name: Windows_Qt_5_15_(make_GCC_x86) - platform: x64 job_name: Windows_Qt_5_15_(qbs_GCC_x86) - platform: x64 job_name: Windows_Qt_5_6_(GCC_x86) for: #---------------------------------# # Windows # #---------------------------------# - matrix: only: - job_name: Windows_Qt_6_4_(GCC_x64) - job_name: Windows_Qt_6_4_(MSVC_x64) - job_name: Windows_Qt_6_4_(MSVC_arm64) - job_name: Windows_Qt_5_15_(qbs_GCC_x64) - job_name: Windows_Qt_5_15_(qbs_MSVC_x64) - job_name: Windows_Qt_5_15_(qbs_GCC_x86) # clone directory clone_folder: c:\projects\valentina # scripts that are called at very beginning, before repo cloning init: # Uncomment if need access through RDP # - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) # Path before - path - set QTDIR=C:\%QT% - set PATH=%QTDIR%\bin;%QTDIR%\include;C:\Qt\Tools\QtCreator\bin;C:\Tools\PsTools;C:\Program Files\Git\cmd;C:\Program Files\Git\usr\bin;C:\Program Files\Git LFS;C:\Tools\GitVersion;C:\Windows\system32;C:\Windows;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\CMake\bin;%PYTHON%;%PYTHON%\Scripts # Set VC variables for the platform - ps: | if ($env:COMPILER -eq "msvc") { if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2022") { if ($env:ARCH -eq "x64") { & "C:\Program Files (x86)\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" } else { & "C:\Program Files (x86)\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars32.bat" } } elseif ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2019") { if ($env:ARCH -eq "x64") { & "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat" } else { & "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars32.bat" } } } else { $env:CC = "gcc.exe" $env:CXX = "g++.exe" } # Path after - path # Check that we have the expected version for Python - (python --version) # Install the build dependencies of the project. - (python -m pip install --upgrade pip) - if "%DEPLOY%" == "true" (python -m pip install dropbox) - python -m pip install conan==1.59 # Trick qmake to not work through MSYS - del /F "C:\Program Files\Git\usr\bin\sh.exe" - del /F "C:\Program Files\Git\bin\sh.exe" - qmake.exe -v - qbs --version before_build: - cd %APPVEYOR_BUILD_FOLDER% - qbs-setup-toolchains --detect - qbs-setup-qt %QTDIR%\bin\qmake.exe qt6 - qbs-config defaultProfile qt6 - dir "C:\Qt\Tools" - conan profile new valentina - conan profile update settings.build_type=Release valentina - conan profile update settings.os=Windows valentina - ps: | if ($env:ARCH -eq "x64") { & conan profile update settings.arch=x86_64 valentina } else { & conan profile update settings.arch=x86 valentina } if ($env:COMPILER -eq "msvc") { & qbs-setup-toolchains.exe --type msvc $env:MSVC_PATH\cl.exe $env:COMPILER & qbs-config.exe profiles.qt6.baseProfile $env:COMPILER & conan profile update settings.compiler=msvc valentina & conan profile update settings.compiler.cppstd=17 valentina & conan profile update settings.compiler.runtime=dynamic valentina & conan profile update settings.compiler.runtime_type=Release valentina & conan profile update settings.compiler.version=192 valentina } else { & qbs-setup-toolchains.exe --type mingw $env:MINGW_PATH\g++.exe $env:COMPILER & qbs-config.exe profiles.qt6.baseProfile $env:COMPILER & conan profile update settings.compiler=gcc valentina & conan profile update settings.compiler.cppstd=gnu17 valentina & conan profile update settings.compiler.libcxx=libstdc++11 valentina & conan profile update settings.compiler.version=$env:GCC_VERSION valentina } - qbs-config --list profiles build_script: - conan install . -s os=Windows --build=xerces-c/3.2.4 -pr valentina - qbs build -f valentina.qbs -d %APPVEYOR_BUILD_FOLDER%\build --command-echo-mode command-line config:release qbs.installRoot:%APPVEYOR_BUILD_FOLDER%\build\install-root\valentina profile:qt6 project.enableConan:true modules.buildconfig.enableCcache:false project.conanProfiles:[valentina] test_script: - qbs -p autotest-runner -d %APPVEYOR_BUILD_FOLDER%\build profile:qt6 config:release deploy_script: - ps: scripts/appveyor-deploy.ps1 # Legacy - matrix: only: - job_name: Windows_Qt_5_15_(make_GCC_x86) - job_name: Windows_Qt_5_15_(make_GCC_x64) - job_name: Windows_Qt_5_15_(nmake_MSVC_x64) - job_name: Windows_Qt_5_6_(GCC_x86) - job_name: Windows_Qt_5_6_(MSVC_x64) # clone directory clone_folder: c:\projects\valentina # scripts that are called at very beginning, before repo cloning init: # Uncomment if need access through RDP # - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) # Path before - path - set QTDIR=C:\%QT% - set PATH=%QTDIR%\bin;%QTDIR%\include;C:\Tools\PsTools;C:\Program Files\Git\cmd;C:\Program Files\Git\usr\bin;C:\Program Files\Git LFS;C:\Tools\GitVersion;C:\Windows\system32;C:\Windows;C:\Windows\System32\WindowsPowerShell\v1.0\ - if NOT "%BUILD_SYSTEM%" == "make" echo "Using Visual Studio %VSVER%.0" - if "%BUILD_SYSTEM%" == "make" echo "Using MinGW" # Set VC variables for the platform - ps: | if ($env:COMPILER -eq "msvc") { if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2022") { if ($env:ARCH -eq "x64") { & "C:\Program Files (x86)\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" } else { & "C:\Program Files (x86)\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars32.bat" } } elseif ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2019") { if ($env:ARCH -eq "x64") { & "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat" } else { & "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars32.bat" } } elseif ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2017") { if ($env:ARCH -eq "x64") { & "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat" } else { & "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat" } } elseif ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2015") { if ($env:ARCH -eq "x64") { & "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd /x64" & "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat x86_amd64" } else { & "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat x86" } } } - if "%BUILD_SYSTEM%" == "make" set PATH=%MINGW_PATH%;%PATH% - if "%BUILD_SYSTEM%" == "nmake" set PATH=C:\Qt\Tools\QtCreator\bin;%PATH% - if "%DEPLOY%" == "true" set PATH=%PYTHON%;%PYTHON%\Scripts;%PATH% # Set paths to libraries - set PATH=%APPVEYOR_BUILD_FOLDER%\build\src\libs\vpropertyexplorer\bin;%APPVEYOR_BUILD_FOLDER%\build\src\libs\qmuparser\bin;%PATH% # Path after - path # Check that we have the expected version for Python - if "%DEPLOY%" == "true" (python --version) # Install the build dependencies of the project. - if "%DEPLOY%" == "true" (python -m pip install --upgrade pip) - if "%DEPLOY%" == "true" (python -m pip install dropbox) # Trick qmake to not work through MSYS - del /F "C:\Program Files\Git\usr\bin\sh.exe" - del /F "C:\Program Files\Git\bin\sh.exe" - qmake -v before_build: - cd %APPVEYOR_BUILD_FOLDER% - md build # to run your custom scripts instead of automatic MSBuild build_script: - cd build - if "%DEPLOY%" == "true" (qmake ..\Valentina.pro -r CONFIG+=no_ccache CONFIG+=checkWarnings CONFIG+=noDebugSymbols CONFIG+=noWindowsInstaller) else (qmake ..\Valentina.pro -r CONFIG+=noDebugSymbols CONFIG+=no_ccache CONFIG+=checkWarnings) - if not "%BUILD_SYSTEM%" == "make" (nmake -s) else (mingw32-make -j%NUMBER_OF_PROCESSORS%) # to run your custom scripts instead of automatic tests test_script: - if "%BUILD_SYSTEM%" == "make" (mingw32-make -s check TESTARGS="-silent") # prepare to deploy after_test: - if "%DEPLOY%" == "true" (mingw32-make install) # to run your custom scripts instead of provider deployments deploy_script: - ps: ../scripts/appveyor-deploy.ps1 #---------------------------------# # MacOS # #---------------------------------# - matrix: only: - job_name: MacOS_12_Qt_6_4 (multibundle) - job_name: MacOS_12_Qt_6_4 (singlebundle) - job_name: MacOS_10_15_Qt_5_15 (qbs, multibundle) - job_name: MacOS_10_15_Qt_5_15 (qbs, singlebundle) init: - export QTDIR="$QT" - export PATH="$QTDIR/bin:$HOME/.local/bin:$PATH" - echo $PATH - find /Applications -maxdepth 1 -type d -name 'Xcode*.app' - sudo xcode-select -p - sudo xcode-select -s /Applications/Xcode-$XCODE_VERSION.app - sudo xcode-select -p - brew update > /dev/null - rm '/usr/local/bin/ccmake' - rm '/usr/local/bin/cmake' - rm '/usr/local/bin/cpack' - rm '/usr/local/bin/ctest' - brew install --force coreutils qbs cmake - python3 --version - | if [[ "$ENABLE_CONAN" == "true" ]]; then pip3 install --user --upgrade conan==1.59; conan --version fi - pip3 install --user --upgrade pip dropbox - clang --version - qmake --version - which qmake - qbs --version before_build: - cd ${APPVEYOR_BUILD_FOLDER} build_script: - pwd - | if [[ "$ENABLE_CONAN" == "true" ]]; then conan install . -s os=Macos -s os.version=${MACOS_DEPLOYMENT_TARGET} --build=xerces-c/3.2.4 fi - qbs setup-toolchains --detect - qbs config --list profiles - qbs setup-qt ${QTDIR}/bin/qmake qt6 - qbs config defaultProfile qt6 - qbs config profiles.qt6.baseProfile clang - qbs build -f valentina.qbs -d ${APPVEYOR_BUILD_FOLDER}/build --command-echo-mode command-line config:release modules.buildconfig.enableUnitTests:false modules.buildconfig.enableMultiBundle:${MULTI_BUNDLE} qbs.installRoot:${APPVEYOR_BUILD_FOLDER}/build/install-root profile:qt6 project.enableConan:true project.minimumMacosVersion:${MACOS_DEPLOYMENT_TARGET} modules.buildconfig.enableCcache:false deploy_script: - CIRRUS_WORKING_DIR=${APPVEYOR_BUILD_FOLDER CIRRUS_CHANGE_IN_REPO=${APPVEYOR_REPO_COMMIT} CIRRUS_BRANCH=${APPVEYOR_REPO_BRANCH} ${APPVEYOR_BUILD_FOLDER}/scripts/cirrus-deploy.sh - matrix: only: - job_name: MacOS_10_15_Qt_5_15 (make) init: - export QTDIR="$QT" - export PATH="$QTDIR/bin:$PATH" - echo $PATH - find /Applications -maxdepth 1 -type d -name 'Xcode*.app' - sudo xcode-select -p - sudo xcode-select -s /Applications/Xcode-$XCODE_VERSION.app - sudo xcode-select -p - clang --version - qmake --version - which qmake before_build: - cd ${APPVEYOR_BUILD_FOLDER} - mkdir build - cd build build_script: - pwd - qmake ../Valentina.pro -r CONFIG+=noDebugSymbols CONFIG+=checkWarnings CONFIG+=noTests CONFIG+=no_ccache - make -j$(nproc) #---------------------------------# # notifications # #---------------------------------# notifications: # Email - provider: Email to: - dismine@gmail.com on_build_success: false on_build_failure: true on_build_status_changed: true