mirror of https://github.com/PurpleI2P/i2pd.git
I2P: End-to-End encrypted and anonymous Internet
https://i2pd.website/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
2.5 KiB
80 lines
2.5 KiB
name: Build on Windows with MSVC |
|
|
|
on: |
|
push: |
|
branches: |
|
- '*' |
|
paths: |
|
- .github/workflows/build-windows-msvc.yml |
|
- build/CMakeLists.txt |
|
- build/cmake_modules/** |
|
- daemon/** |
|
- i18n/** |
|
- libi2pd/** |
|
- libi2pd_client/** |
|
- Win32/** |
|
tags: |
|
- '*' |
|
pull_request: |
|
branches: |
|
- '*' |
|
|
|
jobs: |
|
build: |
|
name: Build |
|
runs-on: windows-latest |
|
env: |
|
boost_path: ${{ github.workspace }}\boost_1_83_0 |
|
openssl_path: ${{ github.workspace }}\openssl_3_2_1 |
|
|
|
strategy: |
|
fail-fast: false |
|
|
|
steps: |
|
- name: Checkout |
|
uses: actions/checkout@v4 |
|
with: |
|
fetch-depth: 0 |
|
|
|
- name: Build and install zlib |
|
run: | |
|
powershell -Command "(Invoke-WebRequest -Uri https://raw.githubusercontent.com/r4sas/zlib.install/master/install.bat -OutFile install_zlib.bat)" |
|
powershell -Command "(Get-Content install_zlib.bat) | Set-Content install_zlib.bat" # fixing line endings |
|
set BUILD_TYPE=Debug |
|
./install_zlib.bat |
|
set BUILD_TYPE=Release |
|
./install_zlib.bat |
|
del install_zlib.bat |
|
|
|
- name: Install Boost |
|
run: | |
|
powershell -Command "(Start-BitsTransfer -Source https://sourceforge.net/projects/boost/files/boost-binaries/1.83.0/boost_1_83_0-msvc-14.3-64.exe/download -Destination boost_1_83_0-msvc-14.3-64.exe)" |
|
./boost_1_83_0-msvc-14.3-64.exe /DIR="${{env.boost_path}}" /VERYSILENT /SUPPRESSMSGBOXES /SP- |
|
|
|
- name: Install OpenSSL |
|
run: | |
|
powershell -Command "(Start-BitsTransfer -Source https://slproweb.com/download/Win64OpenSSL-3_2_1.exe -Destination Win64OpenSSL-3_2_1.exe)" |
|
./Win64OpenSSL-3_2_1.exe /DIR="${{env.openssl_path}}" /TASKS="copytobin" /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP- |
|
|
|
- name: Make copy of the OpenSSL libraries for CMake |
|
run: | |
|
dir ${{ github.workspace }} |
|
dir ${{env.openssl_path}}\lib\VC |
|
dir ${{env.openssl_path}}\lib\VC\x64\ |
|
dir ${{env.openssl_path}}\lib\VC\x64\MTd\ |
|
xcopy /s /y "${{env.openssl_path}}\lib\VC\x64\MTd" "${{env.openssl_path}}\lib" |
|
|
|
- name: Configure |
|
working-directory: build |
|
run: cmake -DBoost_ROOT="${{env.boost_path}}" -DOPENSSL_ROOT_DIR="${{env.openssl_path}}" -DWITH_STATIC=ON . |
|
|
|
- name: Build |
|
working-directory: build |
|
run: cmake --build . --config Debug -- -m |
|
|
|
- name: Upload artifacts |
|
uses: actions/upload-artifact@v4 |
|
with: |
|
name: i2pd-msvc |
|
path: build/Debug/i2pd.* |
|
|
|
|