blob: 92bccb1450d3313b0518d769d6d13d094f2e96c5 [file] [log] [blame]
# branches to build
branches:
# whitelist
only:
- master
- appveyor_debug
image:
- Visual Studio 2015
- Visual Studio 2017
# scripts that are called at very beginning, before repo cloning
init:
- git config --global core.autocrlf input
# clone directory
clone_folder: C:\projects\stp
platform:
- x64
# - x86
environment:
global:
BOOST_ROOT: C:\projects\stp\boost_1_59_0_install
MINISAT_ROOT: C:\projects\stp\minisat\myinstall
ZLIB_ROOT: C:\projects\stp\zlib\myinstall
PYTHON: "C:\\Python27"
PYTHON_ARCH: "x86"
PYTHON_VERSION: "2.7.13"
BUILD_TYPE: Release
APPVEYOR_SAVE_CACHE_ON_ERROR: false
BOOST_OPTIONS: link=static runtime-link=static
# WarningLevel of 1 is ONLY SEVERE warnings, nothing else. See
# https://stackoverflow.com/questions/1023858/how-to-suppress-specific-msbuild-warning
MSBUILD_FLAGS: /maxcpucount /nologo /property:WarningLevel=1
install:
"%PYTHON%\\python.exe -m pip install lit"
configuration:
- Release
#cache:
#- C:\projects\stp\llvm -> appveyor.yml
#- C:\projects\stp\llvm.build -> appveyor.yml
before_build:
- IF "%PLATFORM%" == "x86" ( SET CMAKE_GENERATOR="Visual Studio 14 2015")
- IF "%PLATFORM%" == "x64" ( SET CMAKE_GENERATOR="Visual Studio 14 2015 Win64")
- echo %PLATFORM%
- echo %CMAKE_GENERATOR%
- echo %configuration%
- echo %APPVEYOR_BUILD_FOLDER%
- echo %cd%
# The STP query-file-tests require the "not" tool. For now, we use the one
# provided by LLVM. This should eventually be replaced by the not tool of
# OutputCheck.
#
# Note: the tests are currently disabled on AppVeyor (see below)
#
# - cd C:\projects\stp
# - if not exist llvm git clone --depth=1 --branch release_40 https://github.com/llvm-mirror/llvm
# - if not exist llvm.build mkdir llvm.build
# - cd llvm.build
# - if not exist Release\bin\not.exe cmake -G %CMAKE_GENERATOR% -DPYTHON_EXECUTABLE=%PYTHON%\python.exe ..\llvm
# - if not exist Release\bin\not.exe cmake --build . --config Release --target not
# - set PATH=%PATH%;%cd%\Release\bin
# boost
- cd C:\projects\stp
- mkdir boost_1_59_0_install
- ps: . .\scripts\appveyor.ps1
- cd boost_1_59_0
- echo "Building boost.."
- bootstrap.bat --with-libraries=program_options
- cat project-config.jam
- b2 --with-program_options address-model=64 toolset=msvc-14.0 variant=release %BOOST_OPTIONS% threading=multi install --prefix=%BOOST_ROOT% > boost_install.out
# zlib
# TODO check out http://stackoverflow.com/questions/10507893/libzip-with-visual-studio-2010
- cd C:\projects\stp
- git clone https://github.com/madler/zlib
- cd zlib
- git checkout v1.2.8
- echo %cd%
- mkdir build
- mkdir myinstall
- cd build
- cmake -G %CMAKE_GENERATOR% -DCMAKE_INSTALL_PREFIX=%ZLIB_ROOT% ..
- cmake --build . --config %CONFIGURATION%
- cmake --build . --config %CONFIGURATION% --target install
- dir ..\myinstall\
# minisat
- cd C:\projects\stp
- git clone https://github.com/msoos/minisat
- cd minisat
- echo %cd%
- mkdir build
- mkdir myinstall
- cd build
- cmake -DSTATICCOMPILE=ON -G %CMAKE_GENERATOR% -DCMAKE_INSTALL_PREFIX=%MINISAT_ROOT% -DZLIB_ROOT=%ZLIB_ROOT% ..
- cmake --build . --config %CONFIGURATION%
- cmake --build . --config %CONFIGURATION% --target install
- dir ..\myinstall\
- dir ..\myinstall\lib\
- dir ..\myinstall\bin\
- dir ..\myinstall\include\
# cryptominisat
- cd C:\projects\stp
- git clone https://github.com/msoos/cryptominisat
- cd cryptominisat
- git submodule update --init --recursive
- mkdir build
- cd build
- cmake --version
- cmake -G %CMAKE_GENERATOR% -DSTATICCOMPILE=ON -DNOZLIB=ON -DENABLE_PYTHON_INTERFACE=OFF -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DONLY_SIMPLE=ON -DENABLE_TESTING=OFF ..
- cmake --build . --config Release
- cmake --build . --config Release --target install
- cd ../..
# get flex, bison, perl
- cd C:\projects\stp
- C:\cygwin64\setup-x86_64.exe -qnNd -R C:/cygwin64 -s http://cygwin.mirror.constant.com -l C:/cygwin64/var/cache/setup --packages "flex,bison,perl"
# prepend cygwin to %PATH% so that Cygwin's cat.exe is used instead of Git's
# one. This had caused Cygwin version conflicts (probably due to the wrong
# Cygwin DLL being loaded for cat.exe)
- SET PATH=C:/cygwin64/bin;%PATH%
# finally STP
- cd c:\projects\stp
- git submodule update --init --recursive
# Building in c:\projects\stp\build fails with cmake --build since ASTKind.h
# cannot be found, so build it in ..\stp.build
- mkdir ..\stp.build
- cd ..\stp.build
- cmake --version
- cmake -G %CMAKE_GENERATOR% -DENABLE_TESTING=NO -DENABLE_PYTHON_INTERFACE=OFF -DMINISAT_LIBDIR=%MINISAT_ROOT% -DMINISAT_INCLUDE_DIRS=%MINISAT_ROOT%\include -DSTATICCOMPILE=ON -DZLIB_ROOT=%ZLIB_ROOT% -DCMAKE_PREFIX_PATH=C:\cygwin64 -DBOOST_LIBRARYDIR=%BOOST_ROOT%/lib -DBoost_DEBUG=1 -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DBOOST_ROOT=%BOOST_ROOT% ../stp
- ls
build_script:
- cmake --build . --config Release
after_build:
- echo "%APPVEYOR_BUILD_FOLDER%"
- echo %APPVEYOR_BUILD_FOLDER%
#- dir /s /b
- 7z a c:\projects\stp\stp.zip C:\projects\stp.build\bin\stp.exe -tzip
- cd c:\projects\stp
artifacts:
- path: stp.zip
name: stp.zip
test: off