diff --git a/appveyor.yml b/appveyor.yml index 68737fa..9acc9fe 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -10,8 +10,8 @@ image: environment: LIBEVENT_VERSION: 2.1.10 - BOOST_ROOT: C:\Libraries\boost_1_59_0 - BOOST_LIBRARYDIR: C:\Libraries\boost_1_59_0\lib64-msvc-14.0 + BOOST_ROOT: C:\Libraries\boost_1_69_0 + OPENSSL_ROOT_DIR: C:\OpenSSL-v111-Win64 matrix: # build without shadowsocks protocol @@ -21,6 +21,7 @@ environment: CMAKE_GENERATOR: "Visual Studio 15 2017 Win64" BUILD_SUFFIX: "vc2017_x64" BITS: 64 + BOOST_LIBRARYDIR: C:\Libraries\boost_1_69_0\lib64-msvc-14.1 # build with openssl library - ENABLE_SS: ON @@ -29,27 +30,38 @@ environment: CMAKE_GENERATOR: "Visual Studio 15 2017 Win64" BUILD_SUFFIX: "openssl_vc2017_x64" BITS: 64 - OPENSSL_VERSION: 1_1_1j - OPENSSL_DIR: C:\OpenSSL - OPENSSL_ROOT_DIR: C:\OpenSSL + BOOST_LIBRARYDIR: C:\Libraries\boost_1_69_0\lib64-msvc-14.1 # build with mbed TLS library - ENABLE_SS: ON USE_CRYPTO_OPENSSL: OFF USE_CRYPTO_MBEDTLS: ON - MBEDTLS_VERSION: 2.16.6 + MBEDTLS_VERSION: 2.28.8 CMAKE_GENERATOR: "Visual Studio 15 2017 Win64" BUILD_SUFFIX: "mbedtls_vc2017_x64" BITS: 64 + BOOST_LIBRARYDIR: C:\Libraries\boost_1_69_0\lib64-msvc-14.1 # x86 build with mbed TLS library - ENABLE_SS: ON USE_CRYPTO_OPENSSL: OFF USE_CRYPTO_MBEDTLS: ON - MBEDTLS_VERSION: 2.16.6 + MBEDTLS_VERSION: 2.28.8 CMAKE_GENERATOR: "Visual Studio 15 2017" BUILD_SUFFIX: "mbedtls_vc2017_x86" BITS: 32 + OPENSSL_ROOT_DIR: C:\OpenSSL-v111-Win32 + BOOST_LIBRARYDIR: C:\Libraries\boost_1_69_0\lib32-msvc-14.1 + + # MSYS2 build with mbed TLS library + - ENABLE_SS: ON + USE_CRYPTO_OPENSSL: OFF + USE_CRYPTO_MBEDTLS: ON + MBEDTLS_VERSION: 2.28.8 + CMAKE_GENERATOR: "MSYS Makefiles" + MSYSTEM: MINGW64 + BUILD_SUFFIX: "mbedtls_msys2_x64" + BITS: 64 # build https proxy with openssl library #- ENABLE_SS: ON @@ -63,33 +75,29 @@ install: # recursive clone - git submodule update --init --recursive --depth 3 # VC env -- '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars%BITS%.bat"' - # install OpenSSL -- mkdir C:\OpenSSL -- ps: if (Test-Path env:OPENSSL_VERSION) { Start-FileDownload "http://slproweb.com/download/Win${env:BITS}OpenSSL-${env:OPENSSL_VERSION}.exe" } -- if defined OPENSSL_VERSION Win%BITS%OpenSSL-%OPENSSL_VERSION%.exe /SILENT /VERYSILENT /SP- /DIR="C:\OpenSSL" -#- appveyor DownloadFile https://curl.haxx.se/ca/cacert.pem -FileName C:\OpenSSL\cacert.pem +- if not defined MSYSTEM '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars%BITS%.bat"' +- if defined MSYSTEM set PATH=C:\msys64\%MSYSTEM%\bin;C:\msys64\usr\bin;%PATH% + # patch libevhtp FindLibEvent.cmake +- ps: (Get-Content "libevhtp/cmake/FindLibEvent.cmake").Replace("NAMES libevent", "NAMES libevent event").Replace("NAMES libevent_core", "NAMES libevent_core event_core").Replace("NAMES libevent_pthreads", "NAMES libevent_pthreads event_pthreads").Replace("NAMES libevent_extra libevent_extras", "NAMES libevent_extra libevent_extras event_extra").Replace("# nmake no event_openssl", "FIND_LIBRARY(LIBEVENT_OPENSSL_LIBRARY NAMES libevent_openssl event_openssl HINTS `${_LIBEVENT_LIB_DIR_HINTS} )").Replace("set(_LIBEVENT_LIB_DIR_HINTS `${_LIBEVENT_ROOT_HINTS}/.libs )", "set(_LIBEVENT_LIB_DIR_HINTS `${_LIBEVENT_ROOT_HINTS}/.libs `${_LIBEVENT_ROOT_HINTS}/lib )") | Set-Content "libevhtp/cmake/FindLibEvent.cmake" # mbedTLS - cd \ -- if defined MBEDTLS_VERSION appveyor DownloadFile https://tls.mbed.org/download/mbedtls-%MBEDTLS_VERSION%-apache.tgz -- if defined MBEDTLS_VERSION 7z x mbedtls-%MBEDTLS_VERSION%-apache.tgz -so | 7z x -si -ttar > nul +- if defined MBEDTLS_VERSION appveyor DownloadFile https://github.com/Mbed-TLS/mbedtls/archive/v%MBEDTLS_VERSION%.tar.gz -FileName mbedtls-%MBEDTLS_VERSION%.tar.gz +- if defined MBEDTLS_VERSION 7z x mbedtls-%MBEDTLS_VERSION%.tar.gz -so | 7z x -si -ttar > nul - if defined MBEDTLS_VERSION cd mbedtls-%MBEDTLS_VERSION% - if defined MBEDTLS_VERSION mkdir lib - if defined MBEDTLS_VERSION mkdir cmake-build - if defined MBEDTLS_VERSION cd cmake-build -- if defined MBEDTLS_VERSION cmake -G "%CMAKE_GENERATOR%" .. -- if defined MBEDTLS_VERSION cmake --build . --config Release --target mbedtls -- if defined MBEDTLS_VERSION move library\Release\*.lib ..\lib\ +- if defined MBEDTLS_VERSION cmake -G "%CMAKE_GENERATOR%" -DCMAKE_BUILD_TYPE=Release -DUSE_SHARED_MBEDTLS_LIBRARY=OFF -DCMAKE_INSTALL_PREFIX=..\install .. +- if defined MBEDTLS_VERSION cmake --build . --config Release --target install # Libevent - cd \ - appveyor DownloadFile https://github.com/libevent/libevent/releases/download/release-%LIBEVENT_VERSION%-stable/libevent-%LIBEVENT_VERSION%-stable.tar.gz - 7z x libevent-%LIBEVENT_VERSION%-stable.tar.gz -so | 7z x -si -ttar > nul - cd libevent-%LIBEVENT_VERSION%-stable -- nmake -f Makefile.nmake static_libs -- mkdir lib -- move *.lib lib\ -- move WIN32-Code\nmake\event2\* include\event2\ -- move *.h include\ +- mkdir cmake-build +- cd cmake-build +- cmake -G "%CMAKE_GENERATOR%" -DCMAKE_BUILD_TYPE=Release -DEVENT__LIBRARY_TYPE=STATIC -DCMAKE_INSTALL_PREFIX=C:\libevent-install -DEVENT__DISABLE_TESTS=ON -DEVENT__DISABLE_SAMPLES=ON -DOPENSSL_ROOT_DIR="%OPENSSL_ROOT_DIR%" .. +- cmake --build . --config Release --target install - cd .. # - cd %APPVEYOR_BUILD_FOLDER% @@ -104,14 +112,14 @@ build_script: - set PATH=C:\Python27-x64\scripts;C:\Python27-x64;%PATH% - mkdir cmake-build - cd cmake-build -- cmake -G "%CMAKE_GENERATOR%" -DENABLE_HTTPS_PROXY:STRING="%ENABLE_HTTPS_PROXY%" -DENABLE_SS:STRING="%ENABLE_SS%" -DUSE_CRYPTO_OPENSSL:STRING="%USE_CRYPTO_OPENSSL%" -DUSE_CRYPTO_MBEDTLS="%USE_CRYPTO_MBEDTLS%" -DLIBEVENT_ROOT=C:\libevent-%LIBEVENT_VERSION%-stable -DMBEDTLS_ROOT_DIR=C:\mbedtls-%MBEDTLS_VERSION% -DBOOST_ROOT="%BOOST_ROOT%" -DBOOST_LIBRARYDIR="%BOOST_LIBRARYDIR%" .. +- cmake -G "%CMAKE_GENERATOR%" -DCMAKE_BUILD_TYPE=Release -DENABLE_HTTPS_PROXY:STRING="%ENABLE_HTTPS_PROXY%" -DENABLE_SS:STRING="%ENABLE_SS%" -DUSE_CRYPTO_OPENSSL:STRING="%USE_CRYPTO_OPENSSL%" -DUSE_CRYPTO_MBEDTLS="%USE_CRYPTO_MBEDTLS%" -DLIBEVENT_ROOT=C:\libevent-install -DMBEDTLS_ROOT_DIR=C:\mbedtls-%MBEDTLS_VERSION%\install -DBOOST_ROOT="%BOOST_ROOT%" -DBOOST_LIBRARYDIR="%BOOST_LIBRARYDIR%" -DOPENSSL_ROOT_DIR="%OPENSSL_ROOT_DIR%" .. - cmake --build . --config Release # TODO: # - cpack # - ctest artifacts: -- path: cmake-build\Release +- path: cmake-build\**\mproxy.exe name: mproxy_$(BUILD_SUFFIX) deploy: