| image: Visual Studio 2019 | |
| configuration: Release | |
| skip_commits: | |
| files: | |
| - '.github/*' | |
| - '.travis.yml' | |
| - '.gitignore' | |
| - '*.md' | |
| install: | |
| # Install Rust | |
| - appveyor DownloadFile https://win.rustup.rs/ -FileName rustup-init.exe | |
| - rustup-init -yv --default-toolchain stable --default-host x86_64-pc-windows-msvc | |
| - set PATH=%PATH%;%USERPROFILE%\.cargo\bin | |
| - rustc -vV | |
| - cargo -vV | |
| # Get submodules | |
| - git submodule update --init --recursive | |
| # Prepare VS env | |
| - call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat" | |
| # Install Nasm | |
| - appveyor DownloadFile "https://github.com/joedrago/nasm_mirror/raw/master/nasm-2.15.05-win64.zip" -FileName "nasm.zip" | |
| - 7z x "nasm.zip" > nul | |
| - move nasm-* NASM | |
| - set PATH=%PATH%;%CD%\NASM; | |
| - nasm -v | |
| # Build all external libraries statically | |
| - cd ext | |
| - aom.cmd | |
| - dav1d.cmd | |
| - rav1e.cmd | |
| - libjpeg.cmd | |
| - zlibpng.cmd | |
| - cd .. | |
| # Configure with CMake | |
| - mkdir build | |
| - cd build | |
| - cmake --version | |
| - cmake .. -DAVIF_CODEC_AOM=ON -DAVIF_LOCAL_AOM=ON -DAVIF_CODEC_DAV1D=ON -DAVIF_LOCAL_DAV1D=ON -DAVIF_CODEC_RAV1E=ON -DAVIF_LOCAL_RAV1E=ON -DBUILD_SHARED_LIBS=OFF -DAVIF_LOCAL_JPEG=1 -DAVIF_LOCAL_ZLIBPNG=1 -DAVIF_BUILD_APPS=ON | |
| build: | |
| project: build/libavif.sln | |
| parallel: true | |
| verbosity: minimal | |
| after_build: | |
| - copy %CONFIGURATION%\avifenc.exe . | |
| - copy %CONFIGURATION%\avifdec.exe . | |
| - mkdir lib | |
| - set ARTIFACT_ZIP=libavif_vs2019_x64_%APPVEYOR_REPO_COMMIT:~0,8%_%CONFIGURATION%.zip | |
| - copy %CONFIGURATION%\avif.lib lib\avif_x64_%CONFIGURATION%.lib | |
| - 7z a %ARTIFACT_ZIP% lib | |
| - cd .. | |
| - 7z a build\%ARTIFACT_ZIP% include examples | |
| artifacts: | |
| - path: 'build\libavif_vs2019_x64_*.zip' | |
| name: Static Lib and Includes | |
| - path: 'build\*.exe' | |
| name: Basic apps | |
| deploy: | |
| - provider: GitHub | |
| auth_token: | |
| secure: 'RsUpI1cVgIyervo85gkQ/qRr9BRx9n6WfqcHrFLB4VNi4BBnfuMt+9dY399oP/EF' | |
| prerelease: true | |
| on: | |
| appveyor_repo_tag: true |