Raw File
.appveyor.yml
#------------#
#   Tomato   #
#------------#

os:
  - Visual Studio 2015

init:
  - git config --global core.autocrlf input
  # Set build version to git commit-hash
  - ps: Update-AppveyorBuild -Version "$($env:APPVEYOR_REPO_BRANCH) - $($env:APPVEYOR_REPO_COMMIT)"

# about toolset: https://devblogs.microsoft.com/cppblog/stuck-on-an-older-toolset-version-move-to-visual-studio-2015-without-upgrading-your-toolset/
environment:
  toolset: v90
  OPENSOURCE_EXTENDED_NAME: TomatoOpenSource_%APPVEYOR_REPO_TAG_NAME%_Windows_%PLATFORM%
  FULL_EXTENDED_NAME: TomatoFull_%APPVEYOR_REPO_TAG_NAME%_Windows_%PLATFORM%

install:
  - git submodule update --init --recursive
  - cd %APPVEYOR_BUILD_FOLDER%\thirdParty\googletest
  - git checkout tags/release-1.4.0 # version that works with this toolset

platform:
  - Win32
  - x64

configuration:
  - Release

build_script:

  #-----------------------#
  #   Tomato opensource   #
  #-----------------------#

  # build tomato open source
  - cd %APPVEYOR_BUILD_FOLDER%
  - >-
    cmake .
    -Bopensource
    -A%PLATFORM%
    -DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%\opensource_install
    -T %toolset%
    -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON
  - cd %APPVEYOR_BUILD_FOLDER%\opensource
  - cmake --build . --config %CONFIGURATION% --target ALL_BUILD
  - cmake --build . --config %CONFIGURATION% --target INSTALL

  #-----------------#
  #   Tomato full   #
  #-----------------#

  # get private code
  - cd %APPVEYOR_BUILD_FOLDER%\..
  - git clone https://MRKonrad:%GH_PERSONAL_ACCESS_TOKEN%@github.com/MRKonrad/tomato_private
  - cd %APPVEYOR_BUILD_FOLDER%\..

  # build full tomato
  - cd %APPVEYOR_BUILD_FOLDER%
  - >-
    cmake .
    -Bfull
    -A%PLATFORM%
    -DCMAKE_INSTALL_PREFIX=%APPVEYOR_BUILD_FOLDER%\full_install
    -T %toolset%
    -DUSE_PRIVATE_NR2=ON
    -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON
  - cd %APPVEYOR_BUILD_FOLDER%\full
  - cmake --build . --config %CONFIGURATION% --target ALL_BUILD
  - cmake --build . --config %CONFIGURATION% --target INSTALL

after_build:
  # FOR DEPLOYMENT
  - cd %APPVEYOR_BUILD_FOLDER%
  - mkdir deployment
  # zip the files for the deployment
  - cd %APPVEYOR_BUILD_FOLDER%\opensource_install
  - 7z a %OPENSOURCE_EXTENDED_NAME%.zip bin\* lib\* include\*  # zip
  - cd %APPVEYOR_BUILD_FOLDER%\full_install
  - 7z a %FULL_EXTENDED_NAME%.zip bin\* lib\* include\*  # zip
  # copy the files for the deployment
  - copy %APPVEYOR_BUILD_FOLDER%\opensource_install\%OPENSOURCE_EXTENDED_NAME%.zip %APPVEYOR_BUILD_FOLDER%\deployment\%OPENSOURCE_EXTENDED_NAME%.zip
  - copy %APPVEYOR_BUILD_FOLDER%\full_install\%FULL_EXTENDED_NAME%.zip %APPVEYOR_BUILD_FOLDER%\deployment\%FULL_EXTENDED_NAME%.zip

test_script:
  - cd %APPVEYOR_BUILD_FOLDER%\opensource_install\tests\
  - TomatoTests.exe
  - cd %APPVEYOR_BUILD_FOLDER%\full_install\tests\
  - TomatoTests.exe

artifacts:
  - path: deployment\*.*

deploy:
  provider: GitHub
  auth_token:
    secure: Nmbbo4JCoK5AuN1ugWmE/c8/BAXlpz8Lb7piWDcAAWnT/GFa7fwL20GbXyU9AZSn
  draft: false
  prerelease: false
  force_update: true
  on:
    appveyor_repo_tag: true        # deploy on tag push only
    configuration: Release
back to top