mirror of
https://github.com/ton-blockchain/ton
synced 2025-02-15 04:32:21 +00:00
Taken from https://github.com/akme/ton/blob/master/.github/workflows/ccpp-linux.yml Fixing error LNK2019: unresolved external symbol _GetProcessMemoryInfo@12 when building windows desktop client Fixes compilation error of lite-client on windows Fixes compilation error: error C2664: 'std::pair<td::int64,td::int64> std::make_pair<td::int64,td::int64>(_Ty1 &&,_Ty2 &&) noexcept (<expr>)': cannot convert argument 1 from 'const td::uint64' to '_Ty1 &&' make_pair() has been changed in VS2012 to support a new C++11 feature called move semantics and I suspect that explicitly specifying the types for make_pair() is getting in the way. The fix should be safe for linux distro as well. Adding Github action - Win64 ton compile (#14) * Add github action win64 compile * manager.cpp - Strange though, but due to this kind of type usage win64 compilation fails. Let's make it more generic.
77 lines
2.2 KiB
YAML
77 lines
2.2 KiB
YAML
name: C/C++ CI Win64 Compile
|
|
|
|
on: [push]
|
|
|
|
defaults:
|
|
run:
|
|
shell: cmd
|
|
|
|
jobs:
|
|
build:
|
|
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
|
- name: Get Current OS version
|
|
run: |
|
|
systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
|
|
|
|
- name: Check out current repository
|
|
uses: actions/checkout@v2
|
|
with:
|
|
submodules: 'recursive'
|
|
|
|
- name: Check out zlib repository
|
|
uses: actions/checkout@v2
|
|
with:
|
|
repository: desktop-app/zlib
|
|
path: zlib
|
|
|
|
- name: Setup msbuild.exe
|
|
uses: microsoft/setup-msbuild@v1.0.2
|
|
|
|
- name: Compile zlib Win64
|
|
run: |
|
|
cd zlib\contrib\vstudio\vc14
|
|
msbuild zlibstat.vcxproj /p:Configuration=Debug /p:platform=x64
|
|
msbuild zlibstat.vcxproj /p:Configuration=ReleaseWithoutAsm /p:platform=x64
|
|
|
|
- name: Install OpenSSL Win64
|
|
run: |
|
|
curl -o openssl.msi https://slproweb.com/download/Win64OpenSSL-1_1_1i.msi
|
|
msiexec /i openssl.msi /quiet /qn /norestart
|
|
|
|
- name: Build ton
|
|
run: |
|
|
set root=%cd%
|
|
echo %root%
|
|
mkdir build
|
|
cd build
|
|
cmake -DZLIB_FOUND=1 -DZLIB_INCLUDE_DIR=%root%\zlib -DZLIB_LIBRARY=%root%\zlib\contrib\vstudio\vc14\x64\ZlibStatReleaseWithoutAsm\zlibstat.lib -DCMAKE_CXX_FLAGS="/DTD_WINDOWS=1 /EHsc /bigobj /W0" -DCMAKE_BUILD_TYPE=Release ..
|
|
|
|
- name: Compile ton
|
|
run: |
|
|
cd build
|
|
cmake --build .
|
|
continue-on-error: true
|
|
|
|
- name: Show executables
|
|
run: |
|
|
cd build
|
|
dir *.exe /a-D /S /B
|
|
|
|
- name: Check if validator-engine.exe exists
|
|
run: |
|
|
set root=%cd%
|
|
copy %root%\build\validator-engine\Debug\validator-engine.exe test
|
|
|
|
- name: Find & copy binaries
|
|
run: |
|
|
mkdir artifacts
|
|
for /f %%a in ('dir *.exe /b /a /s') do copy /Y %%a artifacts
|
|
|
|
- name: Upload artifacts
|
|
uses: actions/upload-artifact@master
|
|
with:
|
|
name: ton-win64-binaries
|
|
path: artifacts
|