767 lines
27 KiB
YAML
767 lines
27 KiB
YAML
|
|
# 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_5_(GCC_x64)
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
|
|
COMPILER: mingw
|
|
COMPILER_CPPSTD: gnu17
|
|
COMPILER_LIBCXX: libstdc++11
|
|
QT: Qt\6.5\mingw_64
|
|
QT_VERSION: Qt6_5
|
|
BUILD_SYSTEM: "qbs"
|
|
QMAKE: qmake.exe
|
|
ENABLE_PCH: true
|
|
GCC_VERSION: 12.2
|
|
MINGW_PATH: C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin
|
|
ARCH: x64
|
|
PYTHON: "C:\\Python311-x64"
|
|
PLATFORM: "Windows10+"
|
|
CHOCOLATEY_PACKAGES: true
|
|
CHOCOLATEY_MINGW_VERSION: 12.2.0.03042023
|
|
WINDEPLOYQT_BIN_PATH: "undefined"
|
|
DEPLOY: true
|
|
RUN_TESTS: true
|
|
|
|
- job_name: Windows_Qt_5_15_(qbs_GCC_x86)
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
|
|
COMPILER: mingw
|
|
COMPILER_CPPSTD: gnu17
|
|
COMPILER_LIBCXX: libstdc++11
|
|
QT: Qt\5.15\mingw81_32
|
|
QT_VERSION: Qt5_15
|
|
BUILD_SYSTEM: "qbs"
|
|
QMAKE: qmake.exe
|
|
ENABLE_PCH: true
|
|
GCC_VERSION: 8.1
|
|
MINGW_PATH: C:\Qt\Tools\mingw810_32\bin
|
|
ARCH: x86
|
|
PYTHON: "C:\\Python311"
|
|
PLATFORM: "Windows7+"
|
|
CHOCOLATEY_PACKAGES: false
|
|
WINDEPLOYQT_BIN_PATH: "undefined"
|
|
DEPLOY: true
|
|
RUN_TESTS: 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: Qt/6.4/macos
|
|
QT_VERSION: Qt6_4
|
|
BUILD_SYSTEM: "qbs"
|
|
ARCH: x64
|
|
XCODE_VERSION: 13.4.1
|
|
PLATFORM: "macOS_11+"
|
|
MACOS_DEPLOYMENT_TARGET: 11.0
|
|
MULTI_BUNDLE: true
|
|
DEPLOY: true
|
|
|
|
- job_name: MacOS_12_Qt_6_4 (singlebundle)
|
|
APPVEYOR_BUILD_WORKER_IMAGE: macos-monterey
|
|
COMPILER: clang
|
|
QT: Qt/6.4/macos
|
|
QT_VERSION: Qt6_4
|
|
BUILD_SYSTEM: "qbs"
|
|
ARCH: x64
|
|
XCODE_VERSION: 13.4.1
|
|
PLATFORM: "macOS_11+"
|
|
MACOS_DEPLOYMENT_TARGET: 11.0
|
|
MULTI_BUNDLE: false
|
|
DEPLOY: true
|
|
|
|
- job_name: MacOS_10_15_Qt_5_15 (qbs, multibundle)
|
|
APPVEYOR_BUILD_WORKER_IMAGE: macos-catalina
|
|
COMPILER: clang
|
|
QT: Qt/5.15/clang_64
|
|
QT_VERSION: Qt5_15
|
|
BUILD_SYSTEM: "qbs"
|
|
ARCH: x64
|
|
XCODE_VERSION: 12.3
|
|
PLATFORM: "macOS_10.13+"
|
|
MACOS_DEPLOYMENT_TARGET: 10.13
|
|
MULTI_BUNDLE: true
|
|
DEPLOY: true
|
|
|
|
- job_name: MacOS_10_15_Qt_5_15 (qbs, singlebundle)
|
|
APPVEYOR_BUILD_WORKER_IMAGE: macos-catalina
|
|
COMPILER: clang
|
|
QT: Qt/5.15/clang_64
|
|
QT_VERSION: Qt5_15
|
|
BUILD_SYSTEM: "qbs"
|
|
ARCH: x64
|
|
XCODE_VERSION: 12.3
|
|
PLATFORM: "macOS_10.13+"
|
|
MACOS_DEPLOYMENT_TARGET: 10.13
|
|
MULTI_BUNDLE: false
|
|
DEPLOY: true
|
|
|
|
- job_name: Windows_Qt_6_4_(GCC_x64)
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
|
|
COMPILER: mingw
|
|
COMPILER_CPPSTD: gnu17
|
|
COMPILER_LIBCXX: libstdc++11
|
|
QT: Qt\6.4\mingw_64
|
|
QT_VERSION: Qt6_4
|
|
BUILD_SYSTEM: "qbs"
|
|
QMAKE: qmake.exe
|
|
ENABLE_PCH: true
|
|
GCC_VERSION: 12.2
|
|
MINGW_PATH: C:\ProgramData\chocolatey\lib\mingw\tools\install\mingw64\bin
|
|
ARCH: x64
|
|
PYTHON: "C:\\Python311-x64"
|
|
PLATFORM: "Windows10+"
|
|
CHOCOLATEY_PACKAGES: true
|
|
CHOCOLATEY_MINGW_VERSION: 12.2.0.03042023
|
|
WINDEPLOYQT_BIN_PATH: "undefined"
|
|
DEPLOY: false
|
|
RUN_TESTS: 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_5_(MSVC_x64)
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2022
|
|
COMPILER: msvc
|
|
QT: Qt\6.5\msvc2019_64
|
|
QT_VERSION: Qt6_5
|
|
BUILD_SYSTEM: "qbs"
|
|
QMAKE: qmake.exe
|
|
ENABLE_PCH: true
|
|
MSVC_PATH: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\VC\\Tools\\MSVC\\14.36.32532\\bin\\Hostx64\\x64"
|
|
VSINSTALLDIR: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community\\"
|
|
ARCH: x64
|
|
PYTHON: "C:\\Python311-x64"
|
|
PLATFORM: "Windows10+"
|
|
CHOCOLATEY_PACKAGES: false
|
|
WINDEPLOYQT_BIN_PATH: "undefined"
|
|
DEPLOY: false
|
|
RUN_TESTS: true
|
|
|
|
- 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"
|
|
QMAKE: qmake.exe
|
|
ENABLE_PCH: true
|
|
MSVC_PATH: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.29.30133\\bin\\Hostx64\\x64"
|
|
VSINSTALLDIR: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\"
|
|
ARCH: x64
|
|
PYTHON: "C:\\Python311-x64"
|
|
PLATFORM: "Windows10+"
|
|
CHOCOLATEY_PACKAGES: false
|
|
WINDEPLOYQT_BIN_PATH: "undefined"
|
|
DEPLOY: false
|
|
RUN_TESTS: true
|
|
|
|
- job_name: Windows_Qt_5_15_(qbs_GCC_x64)
|
|
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
|
|
COMPILER: mingw
|
|
COMPILER_CPPSTD: gnu17
|
|
COMPILER_LIBCXX: libstdc++11
|
|
QT: Qt\5.15\mingw81_64
|
|
QT_VERSION: Qt5_15
|
|
BUILD_SYSTEM: "qbs"
|
|
QMAKE: qmake.exe
|
|
ENABLE_PCH: true
|
|
GCC_VERSION: 8.1
|
|
MINGW_PATH: C:\Qt\Tools\mingw810_64\bin
|
|
ARCH: x64
|
|
PYTHON: "C:\\Python311-x64"
|
|
PLATFORM: "Windows7+"
|
|
CHOCOLATEY_PACKAGES: false
|
|
WINDEPLOYQT_BIN_PATH: "undefined"
|
|
DEPLOY: false
|
|
RUN_TESTS: true
|
|
|
|
- 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"
|
|
QMAKE: qmake.exe
|
|
ENABLE_PCH: true
|
|
MSVC_PATH: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.29.30133\\bin\\Hostx64\\x64"
|
|
VSINSTALLDIR: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\"
|
|
VSVER: 16
|
|
ARCH: x64
|
|
PYTHON: "C:\\Python311-x64"
|
|
PLATFORM: "Windows7+"
|
|
CHOCOLATEY_PACKAGES: false
|
|
WINDEPLOYQT_BIN_PATH: "undefined"
|
|
DEPLOY: false
|
|
RUN_TESTS: true
|
|
|
|
- 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: Qt/5.15/clang_64
|
|
QT_VERSION: Qt5_15
|
|
BUILD_SYSTEM: "make"
|
|
ARCH: x64
|
|
XCODE_VERSION: 12.3
|
|
PLATFORM: "macOS_10.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_5_(GCC_x64)
|
|
- platform: x86
|
|
job_name: Windows_Qt_6_5_(MSVC_x64)
|
|
- 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_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_5_(GCC_x64)
|
|
- job_name: Windows_Qt_6_5_(MSVC_x64)
|
|
- job_name: Windows_Qt_6_4_(GCC_x64)
|
|
- job_name: Windows_Qt_6_4_(MSVC_x64)
|
|
- 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
|
|
|
|
cache:
|
|
- C:\Users\appveyor\.conan\data -> conan-cache
|
|
|
|
# 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'))
|
|
- ver
|
|
# Path before
|
|
- path
|
|
- set QTDIR=C:\%QT%
|
|
- set QT_PLUGIN_PATH=%QTDIR%\plugins
|
|
- 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;C:\ProgramData\chocolatey\bin
|
|
# 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") {
|
|
cmd.exe /c "call `"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat`" && set > %temp%\vcvars.txt"
|
|
} elseif ($env:ARCH -eq "arm64") {
|
|
cmd.exe /c "call `"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsamd64_arm64.bat`" && set > %temp%\vcvars.txt"
|
|
} else {
|
|
cmd.exe /c "call `"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars32.bat`" && set > %temp%\vcvars.txt"
|
|
}
|
|
} elseif ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2019") {
|
|
if ($env:ARCH -eq "x64") {
|
|
cmd.exe /c "call `"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat`" && set > %temp%\vcvars.txt"
|
|
} elseif ($env:ARCH -eq "arm64") {
|
|
cmd.exe /c "call `"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsamd64_arm64.bat`" && set > %temp%\vcvars.txt"
|
|
} else {
|
|
cmd.exe /c "call `"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars32.bat`" && set > %temp%\vcvars.txt"
|
|
}
|
|
}
|
|
|
|
Get-Content "$env:temp\vcvars.txt" | Foreach-Object {
|
|
if ($_ -match "^(.*?)=(.*)$") {
|
|
Set-Content "env:\$($matches[1])" $matches[2]
|
|
}
|
|
}
|
|
} else {
|
|
if ($env:CHOCOLATEY_PACKAGES -eq "true") {
|
|
& choco install mingw -y --version $env:CHOCOLATEY_MINGW_VERSION
|
|
}
|
|
$env:Path += ";$env:MINGW_PATH"
|
|
$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.60
|
|
# 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"
|
|
- dir "C:\"
|
|
- dir "C:\Qt"
|
|
- dir "C:\Qt\Tools"
|
|
- dir %QTDIR%
|
|
- dir "%QTDIR%\bin"
|
|
- qbs --version
|
|
|
|
before_build:
|
|
- cd %APPVEYOR_BUILD_FOLDER%
|
|
- qbs-setup-toolchains --detect
|
|
- qbs-setup-qt %QTDIR%\bin\%QMAKE% qt6
|
|
- qbs-config defaultProfile qt6
|
|
- dir "C:\Qt\Tools"
|
|
- conan config install https://gist.github.com/dismine/08166814777f9d29ee4533923d1690cd.git
|
|
- 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=$env:COMPILER_CPPSTD valentina
|
|
& conan profile update settings.compiler.libcxx=$env:COMPILER_LIBCXX valentina
|
|
& conan profile update settings.compiler.version=$env:GCC_VERSION valentina
|
|
}
|
|
- qbs-config --list profiles
|
|
|
|
build_script:
|
|
- conan install . -s os=Windows --build=missing -pr valentina
|
|
- qbs build -f valentina.qbs -d %APPVEYOR_BUILD_FOLDER%\build --jobs %NUMBER_OF_PROCESSORS% config:release qbs.installRoot:%APPVEYOR_BUILD_FOLDER%\build\install-root\valentina profile:qt6 project.enableConan:true modules.buildconfig.enableCcache:false project.conanProfiles:valentina modules.buildconfig.enablePCH:%ENABLE_PCH% modules.windeployqt.windeployqtProgramBinPath:%WINDEPLOYQT_BIN_PATH%
|
|
|
|
test_script:
|
|
- path
|
|
- if "%RUN_TESTS%" == "true" (qbs -p autotest-runner -d %APPVEYOR_BUILD_FOLDER%\build profile:qt6 config:release)
|
|
|
|
deploy_script:
|
|
- ps: scripts/appveyor-deploy.ps1
|
|
|
|
on_finish:
|
|
# Uncomment if need access through RDP
|
|
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.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'))
|
|
- ver
|
|
# 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") {
|
|
cmd.exe /c "call `"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat`" && set > %temp%\vcvars.txt"
|
|
} else {
|
|
cmd.exe /c "call `"C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars32.bat`" && set > %temp%\vcvars.txt"
|
|
}
|
|
} elseif ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2019") {
|
|
if ($env:ARCH -eq "x64") {
|
|
cmd.exe /c "call `"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat`" && set > %temp%\vcvars.txt"
|
|
} else {
|
|
cmd.exe /c "call `"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars32.bat`" && set > %temp%\vcvars.txt"
|
|
}
|
|
} elseif ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2017") {
|
|
if ($env:ARCH -eq "x64") {
|
|
cmd.exe /c "call `"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat`" && set > %temp%\vcvars.txt"
|
|
} else {
|
|
cmd.exe /c "call `"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat`" && set > %temp%\vcvars.txt"
|
|
}
|
|
} elseif ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq "Visual Studio 2015") {
|
|
if ($env:ARCH -eq "x64") {
|
|
cmd.exe /c "call `"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd`" /x64 && call `"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat`" x86_amd64 && set > %temp%\vcvars.txt"
|
|
} else {
|
|
cmd.exe /c "call `"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat`" && set > %temp%\vcvars.txt"
|
|
}
|
|
}
|
|
|
|
Get-Content "$env:temp\vcvars.txt" | Foreach-Object {
|
|
if ($_ -match "^(.*?)=(.*)$") {
|
|
Set-Content "env:\$($matches[1])" $matches[2]
|
|
}
|
|
}
|
|
}
|
|
- 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)
|
|
|
|
environment:
|
|
CONAN_USER_HOME: /Users/appveyor/.conan
|
|
HOMEBREW_NO_INSTALL_CLEANUP: 1
|
|
|
|
cache:
|
|
- /Users/appveyor/.conan/data -> conan-cache
|
|
- /Users/appveyor/cache_dir
|
|
|
|
init:
|
|
- 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
|
|
|
|
before_build:
|
|
- ls ${HOME}/Qt
|
|
- export QTDIR="${HOME}/${QT}"
|
|
- export PATH="$QTDIR/bin:$HOME/.local/bin:`python3 -m site --user-base`/bin:${HOME}/Qt/Qt Creator.app/Contents/MacOS:$PATH"
|
|
- echo $PATH
|
|
- python3 --version
|
|
- |-
|
|
|
|
###############################################################
|
|
# Set up macOS dependencies
|
|
|
|
sudo ln -s /usr/local /opt/local;
|
|
|
|
cache_tag=usr_local_1 # this can be modified to rebuild deps
|
|
|
|
cdir=$HOME/cache_dir
|
|
cache_tar=$cdir/$cache_tag.tar
|
|
cache=$cache_tar.xz
|
|
|
|
CPUS=$(sysctl -n hw.ncpu)
|
|
|
|
if [ -d $cdir ] && [ -f $cache ]; then
|
|
echo "=== Unpacking cached Homebrew $cache ==="
|
|
(
|
|
cd /
|
|
tar xf $cache
|
|
)
|
|
echo "done"
|
|
else
|
|
echo "=== Building dependencies ==="
|
|
echo "Couldn't find cache $cache"
|
|
ls -alrt "$cdir"
|
|
|
|
echo "Recording /usr/local state"
|
|
python3 ./scripts/treestate.py scan /usr/local usrlocal.json
|
|
|
|
brew update
|
|
brew install coreutils ccache git openssl@1.1 pkg-config
|
|
|
|
# The build environment is now ready for use. We can complete
|
|
# the rest of the process of creating the Homebrew archive
|
|
# during the rest of the build, using idle CPU time. To minimise
|
|
# the amount of space needed for the archive, we compress with
|
|
# xz, which adds only about a minute to the non-cached build.
|
|
(
|
|
echo "=== Creating cache tarball $cache ==="
|
|
echo "Check /usr/local for updates"
|
|
python3 ./scripts/treestate.py updates usrlocal.json /usr/local | fgrep -v .git > updated_list
|
|
echo Need to record $( wc -l updated_list ) updates
|
|
|
|
mkdir -p $cdir
|
|
rm -f $cdir/*
|
|
nice tar cf $cache_tar -T updated_list
|
|
echo nice xz -9 -T$CPUS $cache_tar
|
|
nice xz -9 -T$CPUS $cache_tar
|
|
du -h $cdir
|
|
) 2>&1 | sed 's/^/CACHE: /' &
|
|
|
|
fi
|
|
- sudo python3 -m pip install --upgrade pip
|
|
- pip3 install --user --upgrade pip dropbox conan==1.60
|
|
- conan --version
|
|
- clang --version
|
|
- qmake --version
|
|
- which qmake
|
|
- qbs --version
|
|
- cd ${APPVEYOR_BUILD_FOLDER}
|
|
|
|
build_script:
|
|
- pwd
|
|
- conan install . -s os=Macos -s os.version=${MACOS_DEPLOYMENT_TARGET} --build=missing
|
|
- 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 --jobs $(nproc) 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 moduleProvides.qbspkgconfig.extraPaths:$(brew --prefix openssl@1.1)/lib/pkgconfig
|
|
|
|
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 (qbs, multibundle)
|
|
- job_name: MacOS_10_15_Qt_5_15 (qbs, singlebundle)
|
|
|
|
environment:
|
|
CONAN_USER_HOME: /Users/appveyor/.conan
|
|
HOMEBREW_NO_INSTALL_CLEANUP: 1
|
|
|
|
cache:
|
|
- /Users/appveyor/.conan/data -> conan-cache
|
|
|
|
init:
|
|
- 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
|
|
|
|
before_build:
|
|
- ls ${HOME}/Qt
|
|
- export QTDIR="${HOME}/${QT}"
|
|
- export PATH="$QTDIR/bin:$HOME/.local/bin:`python3 -m site --user-base`/bin:${HOME}/Qt/Qt Creator.app/Contents/MacOS:$PATH"
|
|
- echo $PATH
|
|
- python3 --version
|
|
- sudo python3 -m pip install --upgrade pip
|
|
- pip3 install --user --upgrade pip dropbox conan==1.60
|
|
- conan --version
|
|
- clang --version
|
|
- qmake --version
|
|
- which qmake
|
|
- qbs --version
|
|
- cd ${APPVEYOR_BUILD_FOLDER}
|
|
|
|
build_script:
|
|
- pwd
|
|
- conan install . -s os=Macos -s os.version=${MACOS_DEPLOYMENT_TARGET} --build=missing
|
|
- 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 --jobs $(nproc) 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:
|
|
- 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
|
|
|
|
before_build:
|
|
- export QTDIR="${HOME}/${QT}"
|
|
- export PATH="$QTDIR/bin:$PATH"
|
|
- echo $PATH
|
|
- clang --version
|
|
- qmake --version
|
|
- which qmake
|
|
- 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
|
|
|