Codebase list kvirc / debian/latest .appveyor.yml
debian/latest

Tree @debian/latest (Download .tar.gz)

.appveyor.yml @debian/latestraw · history · blame

version: 0.0.0.0.1-branch-{branch}-build-{build}
image: Visual Studio 2017
cache:
    - c:\spellcheck-dicts -> .appveyor.yml
    - c:\Tools\vcpkg\installed -> .appveyor.yml
environment:
    matrix:
        - cmake_build_type: Release
          arch: x64
          target_arch: x86_64
          vc_arch: amd64
          choco_arch:
          qt_ver: 5.9\msvc2017_64
          MSYSTEM: MINGW64
          mingw_fourple: mingw64/mingw-w64-x86_64
          mingw_root: c:/msys64/mingw64
          mingw_libgcc: libgcc_s_seh-1.dll

        - cmake_build_type: Release
          arch: x86
          target_arch: x86
          vc_arch: amd64_x86  # cross-compile from amd64 to x86
          choco_arch: --x86
          qt_ver: 5.9\msvc2015 # no official Qt VS2017 32bit, use VS2015(ABI compatible, answer from Qt)
          MSYSTEM: MINGW32
          mingw_fourple: mingw32/mingw-w64-i686
          mingw_root: c:/msys64/mingw32
          mingw_libgcc: libgcc_s_dw2-1.dll

        - cmake_build_type: Debug
          arch: x64
          target_arch: x86_64
          vc_arch: amd64
          choco_arch:
          qt_ver: 5.9\msvc2017_64
          MSYSTEM: MINGW64
          mingw_fourple: mingw64/mingw-w64-x86_64
          mingw_root: c:/msys64/mingw64
          mingw_libgcc: libgcc_s_seh-1.dll

        - cmake_build_type: Debug
          arch: x86
          target_arch: x86
          vc_arch: amd64_x86  # cross-compile from amd64 to x86
          choco_arch: --x86
          qt_ver: 5.9\msvc2015 # no official Qt VS2017 32bit, use VS2015(ABI compatible, answer from Qt)
          MSYSTEM: MINGW32
          mingw_fourple: mingw32/mingw-w64-i686
          mingw_root: c:/msys64/mingw32
          mingw_libgcc: libgcc_s_dw2-1.dll
matrix:
    fast_finish: true
install:
    # - systeminfo
    # - c:\cygwin\bin\uname -a
    # - c:\cygwin\bin\cat /proc/cpuinfo
    # - c:\cygwin\bin\cat /proc/meminfo
    - ps: |
        choco install strawberryperl -y $env:choco_arch
        # Strawberry perl doesn't support MSVC, but we force the support.
        c:\cygwin\bin\bash -c "/bin/cat .appveyor.perl >> /cygdrive/c/Strawberry/perl/lib/core/config.h"
    - ps: |
        c:\msys64\usr\bin\pacman -Q
        c:\msys64\usr\bin\pacman -S --noconfirm $env:mingw_fourple-enchant
        c:\cygwin\bin\sh -lc 'mkdir -p /cygdrive/c/enchant-headers; cp -vp $mingw_root/lib/glib-2.0/include/glibconfig.h $mingw_root/include/enchant-2/enchant.h /cygdrive/c/enchant-headers/'
        c:\cygwin\bin\sh -lc 'cd /cygdrive/c/enchant-headers; patch -p2 < $APPVEYOR_BUILD_FOLDER/.appveyor.ench'
    - c:\cygwin\bin\sh -lc "mkdir -p /cygdrive/c/spellcheck-dicts; cd /cygdrive/c/spellcheck-dicts; mkdir -p zip unzip ru"
    - ps: |
        if (Test-Path "c:/spellcheck-dicts/zip/ru.zip") { # LGPL
            echo "using ru dict from cache"
        } else {
            Invoke-WebRequest https://extensions.libreoffice.org/extensions/russian-spellcheck-dictionary.-based-on-works-of-aot-group/0-4.3/@@download/file/dict_ru_ru-aot-0.4.3.oxt -OutFile c:\spellcheck-dicts\zip\ru.zip
            c:\cygwin\bin\bash -lc "cd /cygdrive/c/spellcheck-dicts/ru; 7z x -y ../zip/ru.zip"
        }
    - ps: |
        if (Test-Path "c:/spellcheck-dicts/zip/en_US.zip") {
            echo "using en dict from cache"
        } else {
            (New-Object Net.WebClient).DownloadFile('https://sourceforge.net/projects/wordlist/files/speller/2018.04.16/hunspell-en_US-2018.04.16.zip', 'c:\spellcheck-dicts\zip\en_US.zip')
            (New-Object Net.WebClient).DownloadFile('https://sourceforge.net/projects/wordlist/files/speller/2018.04.16/hunspell-en_GB-ize-2018.04.16.zip', 'c:\spellcheck-dicts\zip\en_GB-ize.zip')
            (New-Object Net.WebClient).DownloadFile('https://sourceforge.net/projects/wordlist/files/speller/2018.04.16/hunspell-en_GB-ise-2018.04.16.zip', 'c:\spellcheck-dicts\zip\en_GB-ise.zip')
            c:\cygwin\bin\bash -lc "cd /cygdrive/c/spellcheck-dicts/unzip; 7z x -y ../zip/en_US.zip; 7z x -y ../zip/en_GB-ize.zip; 7z x -y ../zip/en_GB-ise.zip"
        }
    - ps: |
        (New-Object Net.WebClient).DownloadFile('https://github.com/lordmulder/stdutils/releases/download/1.13/StdUtils.2018-03-29.zip', 'c:\StdUtils.2018-03-29.zip')
        7z e -o"C:\Program Files (x86)\NSIS\Plugins\x86-unicode" c:\StdUtils.2018-03-29.zip Plugins\Unicode\*.dll
        7z e -o"C:\Program Files (x86)\NSIS\Include" c:\StdUtils.2018-03-29.zip Include\*.nsh
    # - c:\cygwin\bin\find "/cygdrive/c/Program Files (x86)/NSIS" "-type" f
build_script:
    - mkdir build
    - cd build
    - '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" %vc_arch%'
    - path
    - vcpkg remove --outdated --recurse
    - vcpkg install gettext:%arch%-windows
    - vcpkg install zlib:%arch%-windows
    - vcpkg install openssl:%arch%-windows
    - ps: |
        cmake .. "-GNMake Makefiles" "-DCMAKE_TOOLCHAIN_FILE=C:/Tools/vcpkg/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_BUILD_TYPE=$env:cmake_build_type" "-DCMAKE_PREFIX_PATH=c:/Qt/$env:qt_ver" "-DWANT_OPENSSL=YES" "-DWANT_PERL=YES" "-DPERL_EXECUTABLE=c:/Strawberry/perl/bin/perl.exe" "-DWANT_PHONON=NO" "-DCMAKE_START_TEMP_FILE=" "-DCMAKE_END_TEMP_FILE=" "-DCMAKE_VERBOSE_MAKEFILE=1" "-DEnchant_FOUND=1" "-DEnchant_INCLUDE_DIRS=c:/enchant-headers;$env:mingw_root/include/enchant-2;$env:mingw_root/include/glib-2.0" "-DEnchant_LDFLAGS=$env:mingw_root/lib/libenchant-2.dll.a" "-DWANT_KDE=NO" "-DWANT_PYTHON=YES" "-DWANT_QTWEBKIT=NO"
    - ps: Push-AppveyorArtifact CMakeCache.txt
    - nmake install VERBOSE=1
    # - c:\cygwin\bin\ls -l release/
    - ps: |
        $env:Path += ";c:/Qt/$env:qt_ver/bin"
        if ($env:cmake_build_type -eq "Debug") {
            windeployqt "--pdb" "--dir" "release/qt-plugins" "--libdir" "release/" "release/kvirc.exe" "release/modules/"
        } else {
            windeployqt "--dir" "release/qt-plugins" "--libdir" "release/" "release/kvirc.exe" "release/modules/"
        }
    - ps: |
        if ($env:cmake_build_type -eq "Debug") {
            c:\cygwin\bin\cp -pv "c:/Tools/vcpkg/installed/$env:arch-windows/debug/bin/zlibd.pdb" "c:/Tools/vcpkg/installed/$env:arch-windows/debug/bin/zlibd1.dll" "c:/Tools/vcpkg/installed/$env:arch-windows/debug/bin/libeay32.*" "c:/Tools/vcpkg/installed/$env:arch-windows/debug/bin/ssleay32.*" "c:/Program Files (x86)/Windows Kits/10/bin/$env:arch/ucrt/ucrtbased.dll" release/
        } else {
            c:\cygwin\bin\cp -pv "c:/Tools/vcpkg/installed/$env:arch-windows/bin/zlib1.dll" "c:/Tools/vcpkg/installed/$env:arch-windows/bin/libeay32.dll" "c:/Tools/vcpkg/installed/$env:arch-windows/bin/ssleay32.dll" release/
        }
        c:\cygwin\bin\cp -pv $env:mingw_root/bin/libenchant-2.dll release/
        c:\cygwin\bin\cp -pv $env:mingw_root/bin/libpcre-1.dll release/
        c:\cygwin\bin\cp -pv $env:mingw_root/bin/libglib-2.0-0.dll release/
        c:\cygwin\bin\cp -pv $env:mingw_root/bin/libgmodule-2.0-0.dll release/
        c:\cygwin\bin\cp -pv $env:mingw_root/bin/libintl-8.dll release/
        c:\cygwin\bin\cp -pv $env:mingw_root/bin/libwinpthread-1.dll release/
        c:\cygwin\bin\cp -pv $env:mingw_root/bin/libiconv-2.dll release/
        c:\cygwin\bin\cp -pv $env:mingw_root/bin/$env:mingw_libgcc release/
        c:\cygwin\bin\cp -pv $env:mingw_root/bin/libstdc++-6.dll release/
        c:\cygwin\bin\cp -pv $env:mingw_root/bin/libhunspell-1.6-0.dll release/
        c:\cygwin\bin\mkdir -p release/lib/enchant/ release/share/enchant/ release/share/hunspell/dicts/
        c:\cygwin\bin\touch release/share/locale
        c:\cygwin\bin\cp -pv $env:mingw_root/share/enchant/enchant.ordering release/share/enchant/
        c:\cygwin\bin\cp -pv $env:mingw_root/lib/enchant-2/enchant_hunspell.dll release/lib/enchant/
        c:\cygwin\bin\cp -pv /cygdrive/c/spellcheck-dicts/ru/russian-aot.aff release/share/hunspell/dicts/ru_RU_yo.aff
        c:\cygwin\bin\cp -pv /cygdrive/c/spellcheck-dicts/ru/russian-aot.dic release/share/hunspell/dicts/ru_RU_yo.dic
        c:\cygwin\bin\cp -pv /cygdrive/c/spellcheck-dicts/unzip/en_US.aff release/share/hunspell/dicts/
        c:\cygwin\bin\cp -pv /cygdrive/c/spellcheck-dicts/unzip/en_US.dic release/share/hunspell/dicts/
        c:\cygwin\bin\cp -pv /cygdrive/c/spellcheck-dicts/unzip/en_GB-ise.dic release/share/hunspell/dicts/en_GB_ise.dic
        c:\cygwin\bin\cp -pv /cygdrive/c/spellcheck-dicts/unzip/en_GB-ise.aff release/share/hunspell/dicts/en_GB_ise.aff
        c:\cygwin\bin\cp -pv /cygdrive/c/spellcheck-dicts/unzip/en_GB-ize.dic release/share/hunspell/dicts/en_GB_ize.dic
        c:\cygwin\bin\cp -pv /cygdrive/c/spellcheck-dicts/unzip/en_GB-ize.aff release/share/hunspell/dicts/en_GB_ize.aff
    - '"c:\Program Files (x86)\NSIS\makensis.exe" KVIrc.nsi'
    - ps: |
        $exe = dir -name *.exe
        if ($env:cmake_build_type -eq "Debug") {
            $new_name = $exe.Replace(".exe", "-$env:target_arch-$env:cmake_build_type.exe")
        } else {
            $new_name = $exe.Replace(".exe", "-$env:target_arch.exe")
        }
        Push-AppveyorArtifact $exe -FileName $new_name
        $cmake_name = $exe.Replace(".exe", "-$env:target_arch.cmake.txt")
        #Push-AppveyorArtifact CMakeCache.txt -FileName $cmake_name
        $json = New-Object PSObject
        (New-Object PSObject | Add-Member -PassThru NoteProperty bin $new_name | Add-Member -PassThru NoteProperty cmake $cmake_name | Add-Member -PassThru NoteProperty commit $env:APPVEYOR_REPO_COMMIT) | ConvertTo-JSON | Out-File -FilePath "latest-$env:target_arch-$env:cmake_build_type" -Encoding ASCII
        Push-AppveyorArtifact "latest-$env:target_arch-$env:cmake_build_type"
test: off
deploy:
  - provider: Environment
    name: kvirc