# Version format version: git-{build} # 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: matrix: # TODO Add missing build platforms # MSVC CCCL 64 # - builder: msvc_cccl_64 # VS2015 64 - builder: vs2015_64 PYTHON: 'C:\\Python36-x64' BUILD_DIR: build NINJA_URL: https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-win.zip # VS2015 32 - builder: vs2015_32 PYTHON: 'C:\\Python36' BUILD_DIR: build NINJA_URL: https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-win.zip # MINGW32 Variables - builder: mingw32 EXP_PATH: '/c/mingw/bin:/c/mingw/msys/1.0/bin:/c/Program\ Files\ \(x86\)/Git/bin' # MSYS2 Variables #- builder: msys2 # MSYS2_DIR: msys64 # MSYS2_ARCH: x86_64 # MSYSTEM: MINGW64 ## CYGWIN32 Variables #- builder: cygwin32 # init_command: git config --global core.autocrlf input # CYG_CACHE: 'C:\cygwin\var\cache\setup' # CYG_BASH: 'C:\cygwin\bin\bash' # ZIP_ROOT: '%APPVEYOR_BUILD_FOLDER%\zip' # Init init: # Build dependant custom commands - cmd: "%init_command%" # Required softwares for building install: # Update environment variables - ps: $env:R2_VERSION = ( python sys\\version.py ) - ps: $env:DIST_FOLDER = "radare2-$env:builder-$env:R2_VERSION" - ps: $env:ARTIFACT_ZIP = "$env:DIST_FOLDER.zip" # Download required packages - cmd: if defined BUILD_DIR ( %PYTHON%\python.exe -m pip install meson && COPY %PYTHON%\Scripts\meson.py meson.py ) - cmd: if defined NINJA_URL ( powershell -Command wget %NINJA_URL% -OutFile ninja.zip && unzip ninja.zip ) # Build scripts build_script: - appveyor AddMessage "Compiling radare2 %R2_VERSION% (%builder%)" - if %builder% == msvc_cccl_64 ( sys\msvc.bat && make windist WINBITS=%builder% ) - 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 && meson.bat --release --msbuild --xp && sys\meson_install.bat --msbuild %DIST_FOLDER% && zip -r %ARTIFACT_ZIP% %DIST_FOLDER% ) - 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 && meson.bat --release --msbuild --xp && sys\meson_install.bat --msbuild %DIST_FOLDER% && zip -r %ARTIFACT_ZIP% %DIST_FOLDER% ) - cmd: if %builder% == mingw32 ( sys\mingw32.bat && sh -c "export PATH=%EXP_PATH%:${PATH}; make windist WINBITS=%builder% ZIPNAME=%ARTIFACT_ZIP%" ) - cmd: if %builder% == msys2 ( set && set PATH=C:\%MSYS2_DIR%\%MSYSTEM%\bin;C:\%MSYS2_DIR%\usr\bin;"%PATH%" && echo "%PATH%" && sh.exe -c "export PATH=${PATH}:/mingw64/bin; ./configure --build=i686-unknown-windows-gnu ; mingw32-make -j1 ; mingw32-make windist WINBITS=%builder%" ) - cmd: if %builder% == cygwin32 ( %CYG_BASH% -lc "gcc -v" && %CYG_BASH% -lc "uname | tr 'A-Z' 'a-z'" && %CYG_BASH% -lc 'cd $APPVEYOR_BUILD_FOLDER; ./configure --prefix=/usr/local' && %CYG_BASH% -lc 'cd $APPVEYOR_BUILD_FOLDER; make' && %CYG_BASH% -lc 'cd $APPVEYOR_BUILD_FOLDER; make windist WINBITS=%builder%' ) after_test: - git clone https://github.com/radare/radare2-win-installer - set PATH=%PATH%;"C:\\Program Files (x86)\\Inno Setup 5" - iscc radare2-win-installer/radare2.iss /DRadare2Location=..\%DIST_FOLDER%\* /DLicenseLocation=..\COPYING.LESSER /DIcoLocation=radare2.ico /DMyAppVersion=%R2_VERSION% - move radare2-win-installer\Output\radare2.exe radare2_installer-%builder%.exe # Artifacts artifacts: # Binaries - path: "%ARTIFACT_ZIP%" # Inno Setup files - path: radare2_installer-%builder%.exe # Disable deployment deploy: off