appveyor.yml 3.92 KB
Newer Older
1 2
version: build-{build}

3
shallow_clone: true
4 5 6

skip_tags: true

7
os: Visual Studio 2013
8 9

environment:
10 11 12
  CMAKE_GENERATOR: "Visual Studio 12 2013"
  MSVCVERSION: "v120"
  MSVCYEAR: "vs2013"
13 14 15
  matrix:
    - platform: Win32
      configuration: Release
16 17
      WITH_LIBSODIUM: ON
      ENABLE_CURVE: ON
18 19 20 21 22
    - platform: Win32
      configuration: Release
      POLLER: poll
      WITH_LIBSODIUM: ON
      ENABLE_CURVE: ON
23
    - platform: Win32
24
      configuration: Debug
25 26
      WITH_LIBSODIUM: ON
      ENABLE_CURVE: ON
27
    - platform: x64
28
      configuration: Release
29 30
      WITH_LIBSODIUM: ON
      ENABLE_CURVE: ON
31 32
    - platform: x64
      configuration: Debug
33 34
      WITH_LIBSODIUM: ON
      ENABLE_CURVE: ON
35 36
    - platform: Win32
      configuration: Release
37 38
      WITH_LIBSODIUM: OFF
      ENABLE_CURVE: OFF
39 40
    - platform: Win32
      configuration: Release
41 42
      WITH_LIBSODIUM: OFF
      ENABLE_CURVE: ON
43 44 45 46
    - platform: Win32
      configuration: Release
      WITH_LIBSODIUM: ON
      ENABLE_CURVE: ON
47 48 49 50
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
      CMAKE_GENERATOR: "Visual Studio 14 2015"
      MSVCVERSION: "v140"
      MSVCYEAR: "vs2015"
51 52 53 54 55 56 57 58
    - platform: Win32
      configuration: Release
      WITH_LIBSODIUM: ON
      ENABLE_CURVE: ON
      APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
      CMAKE_GENERATOR: "Visual Studio 15 2017"
      MSVCVERSION: "v141"
      MSVCYEAR: "vs2017"
59 60 61 62 63 64 65 66 67 68

matrix:
  fast_finish: false

init:
  #- ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
  - cmake --version
  - msbuild /version
  - cmd: reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f

69 70 71
cache:
    - C:\projects\libsodium

72 73 74 75
install:
  - cmd: if "%Platform%"=="x64" set "CMAKE_GENERATOR=%CMAKE_GENERATOR% Win64"
  - cmd: echo "Generator='%CMAKE_GENERATOR%'"
  - cmd: echo "Platform='%Platform%'"
76
  - cmd: if "%WITH_LIBSODIUM%"=="ON" set LIBSODIUMDIR=C:\projects\libsodium
77 78 79 80 81 82 83 84
  - if "%WITH_LIBSODIUM%"=="ON" (
      if not exist "%LIBSODIUMDIR%" (
      git clone --branch stable --depth 1 --quiet "https://github.com/jedisct1/libsodium.git" %LIBSODIUMDIR%
      ) else (
      cd "%LIBSODIUMDIR%" &&
      git pull
      )
    )
85 86 87
  - cmd: if "%WITH_LIBSODIUM%"=="ON" msbuild /v:minimal /maxcpucount:%NUMBER_OF_PROCESSORS% /p:Configuration=%Configuration%DLL %LIBSODIUMDIR%\builds\msvc\%MSVCYEAR%\libsodium\libsodium.vcxproj
  - cmd: if "%WITH_LIBSODIUM%"=="ON" set SODIUM_LIBRARY_DIR="%LIBSODIUMDIR%\bin\%Platform%\%Configuration%\%MSVCVERSION%\dynamic"
  - cmd: if "%WITH_LIBSODIUM%"=="ON" set SODIUM_INCLUDE_DIR="%LIBSODIUMDIR%\src\libsodium\include"
88
  - ps: if (${env:WITH_LIBSODIUM} -eq "ON") { Copy-Item "C:\projects\libsodium\bin\${env:Platform}\${env:Configuration}\${env:MSVCVERSION}\dynamic\libsodium.lib" -Destination "C:\projects\libsodium\bin\${env:Platform}\${env:Configuration}\${env:MSVCVERSION}\dynamic\sodium.lib" }
89 90 91 92 93 94 95

clone_folder: C:\projects\libzmq

before_build:
  - cmd: set LIBZMQ_BUILDDIR=C:\projects\build_libzmq
  - cmd: md "%LIBZMQ_BUILDDIR%"
  - cd "%LIBZMQ_BUILDDIR%"
96
  - cmd: cmake -D CMAKE_INCLUDE_PATH="%SODIUM_INCLUDE_DIR%" -D CMAKE_LIBRARY_PATH="%SODIUM_LIBRARY_DIR%" -D WITH_LIBSODIUM="%WITH_LIBSODIUM%" -D ENABLE_CURVE="%ENABLE_CURVE%" -D POLLER="%POLLER%" -D CMAKE_C_FLAGS_RELEASE="/MT" -D CMAKE_C_FLAGS_DEBUG="/MTd" -D WITH_LIBSODIUM="%WITH_LIBSODIUM%" -G "%CMAKE_GENERATOR%" "%APPVEYOR_BUILD_FOLDER%"
97 98 99 100 101 102 103 104

build:
  parallel: true
  project: C:\projects\build_libzmq\ZeroMQ.sln
  verbosity: minimal

after_build:
  - cmd: cd %LIBZMQ_BUILDDIR%\bin\%Configuration%"
105
  - cmd: if "%WITH_LIBSODIUM%"=="ON" copy "%SODIUM_LIBRARY_DIR%\libsodium.dll" .
106 107
  - cmd: 7z a -y -bd -mx=9 libzmq.zip *.exe *.dll
  - ps: Push-AppveyorArtifact "libzmq.zip" -Filename "libzmq-${env:Platform}-${env:Configuration}.zip"
108 109

test_script:
110
  - cmd: cd "%LIBZMQ_BUILDDIR%"
111
  - cmd: ctest -C "%Configuration%" -V -j5
112