2017-05-18 14:50:52 +00:00
|
|
|
# Version format
|
2017-06-08 03:32:17 +00:00
|
|
|
version: git-{build}
|
2017-05-18 14:50:52 +00:00
|
|
|
|
|
|
|
# Skip Github tags
|
|
|
|
skip_tags: true
|
|
|
|
|
|
|
|
# VM Template
|
|
|
|
image: Visual Studio 2015
|
|
|
|
|
|
|
|
# Clone depth
|
|
|
|
clone_depth: 1
|
|
|
|
|
|
|
|
# Branches to clone
|
|
|
|
branches:
|
|
|
|
only:
|
|
|
|
- master
|
|
|
|
|
|
|
|
# Environment variables
|
|
|
|
environment:
|
2017-12-02 15:42:47 +00:00
|
|
|
nodejs_version: "Stable"
|
|
|
|
|
2017-05-18 14:50:52 +00:00
|
|
|
matrix:
|
|
|
|
# TODO Add missing build platforms
|
2017-06-05 09:00:51 +00:00
|
|
|
# MSVC CCCL 64
|
|
|
|
# - builder: msvc_cccl_64
|
2017-07-10 07:52:00 +00:00
|
|
|
# VS2015 64
|
|
|
|
- builder: vs2015_64
|
2017-05-18 14:50:52 +00:00
|
|
|
PYTHON: 'C:\\Python36-x64'
|
|
|
|
BUILD_DIR: build
|
2017-07-10 07:52:00 +00:00
|
|
|
# VS2015 32
|
|
|
|
- builder: vs2015_32
|
2017-06-26 12:14:38 +00:00
|
|
|
PYTHON: 'C:\\Python36'
|
|
|
|
BUILD_DIR: build
|
2017-12-03 20:26:13 +00:00
|
|
|
# VS2015 64 (Dynamic linking)
|
|
|
|
- builder: vs2015_64_dyn
|
|
|
|
PYTHON: 'C:\\Python36'
|
|
|
|
BUILD_DIR: build
|
|
|
|
NINJA_URL: https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-win.zip
|
2017-05-18 14:50:52 +00:00
|
|
|
|
|
|
|
# Init
|
|
|
|
init:
|
2017-06-05 09:00:51 +00:00
|
|
|
# Build dependant custom commands
|
2017-05-18 14:50:52 +00:00
|
|
|
- cmd: "%init_command%"
|
|
|
|
|
|
|
|
# Required softwares for building
|
|
|
|
install:
|
2017-06-05 09:00:51 +00:00
|
|
|
# Update environment variables
|
2017-06-29 15:35:40 +00:00
|
|
|
- ps: $env:R2_VERSION = ( python sys\\version.py )
|
|
|
|
- ps: $env:DIST_FOLDER = "radare2-$env:builder-$env:R2_VERSION"
|
2017-06-05 09:00:51 +00:00
|
|
|
- ps: $env:ARTIFACT_ZIP = "$env:DIST_FOLDER.zip"
|
|
|
|
# Download required packages
|
2018-01-11 16:20:23 +00:00
|
|
|
- cmd: if defined BUILD_DIR ( %PYTHON%\python.exe -m pip install meson )
|
2018-02-23 11:57:19 +00:00
|
|
|
- cmd: if defined NINJA_URL ( powershell -Command "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; wget %NINJA_URL% -OutFile ninja.zip" && unzip ninja.zip )
|
2017-05-18 14:50:52 +00:00
|
|
|
|
|
|
|
# Build scripts
|
|
|
|
build_script:
|
2017-07-10 07:52:00 +00:00
|
|
|
- appveyor AddMessage "Compiling radare2 %R2_VERSION% (%builder%)"
|
2017-06-05 09:00:51 +00:00
|
|
|
- if %builder% == msvc_cccl_64 ( sys\msvc.bat && make windist WINBITS=%builder% )
|
|
|
|
|
2018-03-30 21:35:12 +00:00
|
|
|
- cmd: if %builder% == vs2015_64 ( set "PATH=C:\mingw\bin;C:\mingw\msys\1.0\bin;%PYTHON%;%PATH%" && call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64 && python sys\meson.py --backend vs2015 --release --xp --install="%DIST_FOLDER%" --options static_runtime=true && zip -r %ARTIFACT_ZIP% %DIST_FOLDER% )
|
2017-06-05 09:00:51 +00:00
|
|
|
|
2018-03-30 21:35:12 +00:00
|
|
|
- cmd: if %builder% == vs2015_32 ( set "PATH=C:\mingw\bin;C:\mingw\msys\1.0\bin;%PYTHON%;%PATH%" && call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86 && python sys\meson.py --backend vs2015 --release --xp --install="%DIST_FOLDER%" --options static_runtime=true && zip -r %ARTIFACT_ZIP% %DIST_FOLDER% )
|
2017-06-26 12:14:38 +00:00
|
|
|
|
2018-01-28 17:16:38 +00:00
|
|
|
- cmd: if %builder% == vs2015_64_dyn ( set "PATH=C:\mingw\bin;C:\mingw\msys\1.0\bin;%PYTHON%;%PATH%" && call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64 && python sys\meson.py --release --shared --install="%DIST_FOLDER%" && zip -r %ARTIFACT_ZIP% %DIST_FOLDER% )
|
2017-12-03 20:26:13 +00:00
|
|
|
|
2017-12-02 15:42:47 +00:00
|
|
|
test_script:
|
|
|
|
- set PATH=%APPVEYOR_BUILD_FOLDER%\%DIST_FOLDER%;%PATH%
|
|
|
|
- echo %PATH%
|
|
|
|
- where radare2
|
|
|
|
- radare2 -v
|
|
|
|
- ps: Install-Product node $env:nodejs_version
|
|
|
|
- node --version
|
|
|
|
- git clone https://github.com/radare/radare2-regressions
|
|
|
|
- cd radare2-regressions/new
|
|
|
|
- npm install
|
|
|
|
- set NOOK=1
|
|
|
|
- node bin/r2r.js
|
|
|
|
- cd ../..
|
|
|
|
|
2017-06-05 09:00:51 +00:00
|
|
|
after_test:
|
|
|
|
- git clone https://github.com/radare/radare2-win-installer
|
|
|
|
- set PATH=%PATH%;"C:\\Program Files (x86)\\Inno Setup 5"
|
2017-06-29 15:35:40 +00:00
|
|
|
- iscc radare2-win-installer/radare2.iss /DRadare2Location=..\%DIST_FOLDER%\* /DLicenseLocation=..\COPYING.LESSER /DIcoLocation=radare2.ico /DMyAppVersion=%R2_VERSION%
|
2017-10-14 10:06:55 +00:00
|
|
|
- move radare2-win-installer\Output\radare2.exe radare2_installer-%builder%.exe
|
2017-06-05 09:00:51 +00:00
|
|
|
|
2017-05-18 14:50:52 +00:00
|
|
|
# Artifacts
|
|
|
|
artifacts:
|
2017-06-05 09:00:51 +00:00
|
|
|
# Binaries
|
|
|
|
- path: "%ARTIFACT_ZIP%"
|
|
|
|
# Inno Setup files
|
2017-10-14 10:06:55 +00:00
|
|
|
- path: radare2_installer-%builder%.exe
|
2017-05-18 14:50:52 +00:00
|
|
|
|
|
|
|
# Disable deployment
|
|
|
|
deploy: off
|
2017-06-05 09:00:51 +00:00
|
|
|
|