.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