mirror of
https://github.com/QuasarApp/LIEF.git
synced 2025-04-27 21:04:32 +00:00
* JSON visitor are located in the format namespace * Visitor are *real* visitor * Visitable class has been renamed to Object * Due to a bug in Visual Studio 2015, we move to VS2017
153 lines
5.2 KiB
YAML
153 lines
5.2 KiB
YAML
version: 0.7.{build}
|
||
image: Visual Studio 2017
|
||
clone_folder: c:\projects\lief
|
||
|
||
configuration: Release
|
||
|
||
#clone_depth: 3
|
||
|
||
platform:
|
||
- x86
|
||
- x64
|
||
|
||
#cache:
|
||
# - rang_cpp_color-prefix -> CMakeLists.txt
|
||
# - mbed_tls -> CMakeLists.txt
|
||
# - libjson-prefix -> CMakeLists.txt
|
||
# - easyloggingpp-prefix -> CMakeLists.txt
|
||
# - tests\YAMLCPP -> tests\CMakeLists.txt
|
||
# - tests\lief-samples -> tests\CMakeLists.txt
|
||
# - tests\catch -> tests\CMakeLists.txt
|
||
# - api\python\pybind11-prefix -> api\python\CMakeLists.txt
|
||
|
||
environment:
|
||
LIEF_AUTOMATIC_BUILDS_KEY:
|
||
secure: TT7SXISIifq2/tf02n2ATgPj+Ky4Cjl3Fg44BAfyI4yRa4i87UAQIx5EFeV63+Xv2rhcU7JcMgl+An7QBrV6ofuQ9jxbuw+Gd1GqcCrAIyY=
|
||
LIEF_AUTOMATIC_BUILDS_IV:
|
||
secure: /S6Vbt3vEisoC81siFbkqOXQeVnwxLZZPMYp1r79G7h+HFjLlWUZSidxxpsAgHNE
|
||
matrix:
|
||
# Python 2.7
|
||
- PYTHON_VERSION: "2.7"
|
||
PYTHON32_PATH: "C:\\Python27"
|
||
PYTHON32_INCLUDE: "C:\\Python27\\include"
|
||
PYTHON32_BINARY: "C:\\Python27\\python.exe"
|
||
PYTHON32_LIBRARY: "C:\\Python27\\libs\\python27.lib"
|
||
PYTHON64_PATH: "C:\\Python27-x64"
|
||
PYTHON64_INCLUDE: "C:\\Python27-x64\\include"
|
||
PYTHON64_BINARY: "C:\\Python27-x64\\python.exe"
|
||
PYTHON64_LIBRARY: "C:\\Python27-x64\\libs\\python27.lib"
|
||
LIEF_TEST_SHARED: "OFF"
|
||
LIEF_TEST_STATIC: "ON"
|
||
|
||
|
||
# Python 3.5
|
||
- PYTHON_VERSION: "3.5"
|
||
PYTHON32_PATH: "C:\\Python35"
|
||
PYTHON32_INCLUDE: "C:\\Python35\\include"
|
||
PYTHON32_BINARY: "C:\\Python35\\python.exe"
|
||
PYTHON32_LIBRARY: "C:\\Python35\\libs\\python35.lib"
|
||
PYTHON64_PATH: "C:\\Python35-x64"
|
||
PYTHON64_INCLUDE: "C:\\Python35-x64\\include"
|
||
PYTHON64_BINARY: "C:\\Python35-x64\\python.exe"
|
||
PYTHON64_LIBRARY: "C:\\Python35-x64\\libs\\python35.lib"
|
||
LIEF_TEST_SHARED: "ON"
|
||
LIEF_TEST_STATIC: "OFF"
|
||
|
||
|
||
# Python 3.6
|
||
- PYTHON_VERSION: "3.6"
|
||
PYTHON32_PATH: "C:\\Python36"
|
||
PYTHON32_INCLUDE: "C:\\Python36\\include"
|
||
PYTHON32_BINARY: "C:\\Python36\\python.exe"
|
||
PYTHON32_LIBRARY: "C:\\Python36\\libs\\python36.lib"
|
||
PYTHON64_PATH: "C:\\Python36-x64"
|
||
PYTHON64_INCLUDE: "C:\\Python36-x64\\include"
|
||
PYTHON64_BINARY: "C:\\Python36-x64\\python.exe"
|
||
PYTHON64_LIBRARY: "C:\\Python36-x64\\libs\\python36.lib"
|
||
LIEF_TEST_SHARED: "ON"
|
||
LIEF_TEST_STATIC: "ON"
|
||
|
||
|
||
matrix:
|
||
fast_finish: true # set this flag to immediately finish build once one of the jobs fails.
|
||
allow_failures:
|
||
- platform: x86
|
||
configuration: Release
|
||
- platform: x64
|
||
configuration: Release
|
||
|
||
install:
|
||
- ps: if ($env:PLATFORM -eq "x64") { $env:CMAKE_ARCH = "x64" }
|
||
|
||
- ps: if ($env:PLATFORM -eq "x64") { $env:PYTHON_PATH = $env:PYTHON64_PATH }
|
||
- ps: if ($env:PLATFORM -eq "x64") { $env:PYTHON_INCLUDE = $env:PYTHON64_INCLUDE }
|
||
- ps: if ($env:PLATFORM -eq "x64") { $env:PYTHON_BINARY = $env:PYTHON64_BINARY }
|
||
- ps: if ($env:PLATFORM -eq "x64") { $env:PYTHON_LIBRARY = $env:PYTHON64_LIBRARY }
|
||
|
||
- ps: if ($env:PLATFORM -eq "x86") { $env:PYTHON_PATH = $env:PYTHON32_PATH }
|
||
- ps: if ($env:PLATFORM -eq "x86") { $env:PYTHON_INCLUDE = $env:PYTHON32_INCLUDE }
|
||
- ps: if ($env:PLATFORM -eq "x86") { $env:PYTHON_BINARY = $env:PYTHON32_BINARY }
|
||
- ps: if ($env:PLATFORM -eq "x86") { $env:PYTHON_LIBRARY = $env:PYTHON32_LIBRARY }
|
||
- set PATH=%PYTHON_PATH%;%PATH%
|
||
|
||
# Upgrade pip
|
||
- python.exe -m pip install --disable-pip-version-check --user --upgrade pip
|
||
- python.exe -m pip install --upgrade setuptools
|
||
|
||
|
||
build_script:
|
||
- >
|
||
cmake -A "%CMAKE_ARCH%"
|
||
-DLIEF_TESTS=on
|
||
-DLIEF_PYTHON_API=on
|
||
-DLIEF_COMPILER_JOBS=4
|
||
-DPYTHON_VERSION=%PYTHON_VERSION%
|
||
-DPYTHON_INCLUDE_DIR=%PYTHON_INCLUDE%
|
||
-DPYTHON_EXECUTABLE=%PYTHON_BINARY%
|
||
-DPYTHON_LIBRARY=%PYTHON_LIBRARY%
|
||
-DLIEF_TEST_SHARED=%LIEF_TEST_SHARED%
|
||
-DLIEF_TEST_STATIC=%LIEF_TEST_STATIC%
|
||
- set MSBuildLogger="C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
|
||
- cmake --build . --config Release --target lief_samples -- /v:m /logger:%MSBuildLogger%
|
||
- cmake .
|
||
- cmake --build . --config Release --target ALL_BUILD -- /v:m /logger:%MSBuildLogger%
|
||
|
||
test_script:
|
||
- cmake --build . --config Release --target lief_samples -- /v:m /logger:%MSBuildLogger%
|
||
- cmake .
|
||
- cmake --build . --config Release --target check-lief -- /v:m /logger:%MSBuildLogger%
|
||
|
||
after_build:
|
||
- cmake --build . --config Release --target package -- /v:m /logger:%MSBuildLogger%
|
||
- cd api\python
|
||
- python.exe .\setup.py bdist_egg && exit 0 # Ignore warnings...
|
||
- ps: if ($env:APPVEYOR_REPO_TAG -eq "true") { python.exe .\setup.py sdist --formats=zip } # Ignore warnings...
|
||
- ps: if ($env:APPVEYOR_REPO_TAG -eq "false") { python.exe .\setup.py sdist --dev --formats=zip } # Ignore warnings...
|
||
- cd ..\..
|
||
- bash ./.github/deploy.sh
|
||
|
||
artifacts:
|
||
- path: '*.zip'
|
||
name: sdk
|
||
|
||
- path: 'api\python\dist\*.zip'
|
||
name: python-src
|
||
|
||
- path: 'api\python\dist\*.egg'
|
||
name: python-egg
|
||
|
||
|
||
deploy:
|
||
description: "LIEF version $(APPVEYOR_REPO_TAG_NAME)"
|
||
provider: GitHub
|
||
auth_token:
|
||
secure: FU9CGrZ1lm0VDHUZg6zvTL4tidluDvRegVUTehCRo2xgiOv6NZePi7TdSy5CsOdG
|
||
artifact: sdk;python-src;python-egg
|
||
draft: false
|
||
prerelease: false
|
||
force_update: true
|
||
on:
|
||
appveyor_repo_tag: true # deploy on tag push only
|
||
|
||
|