mirror of
https://github.com/ton-blockchain/ton
synced 2025-02-12 11:12:16 +00:00
Improve windows build scripts (#1416)
* improve windows builds * install nasm for openssl compilation on win * install nasm for openssl compilation on win for github * add create-state, proxy-liteserver, rldp-http-proxy, http-proxy, adnl-proxy, dht-server, libtonlibjson.so and libemulator.so to docker image * build new artifacts inside Docker * add files smartcont/auto/* to docker image * build arm64 in docker branch build * improve secp256k1 build
This commit is contained in:
parent
d3d050a319
commit
540d1fb4b7
5 changed files with 218 additions and 189 deletions
|
@ -41,7 +41,7 @@ jobs:
|
|||
id: docker_build
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
platforms: linux/amd64
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
context: ./
|
||||
tags: |
|
||||
|
|
|
@ -5,6 +5,7 @@ if (NOT SECP256K1_LIBRARY)
|
|||
set(SECP256K1_INCLUDE_DIR ${SECP256K1_BINARY_DIR}/include)
|
||||
|
||||
file(MAKE_DIRECTORY ${SECP256K1_BINARY_DIR})
|
||||
file(MAKE_DIRECTORY "${SECP256K1_BINARY_DIR}/include")
|
||||
|
||||
if (MSVC)
|
||||
set(SECP256K1_BINARY_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third-party/secp256k1)
|
||||
|
|
20
Dockerfile
20
Dockerfile
|
@ -20,14 +20,17 @@ COPY ./ ./
|
|||
RUN mkdir build && \
|
||||
cd build && \
|
||||
cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DPORTABLE=1 -DTON_ARCH= -DTON_USE_JEMALLOC=ON .. && \
|
||||
ninja storage-daemon storage-daemon-cli tonlibjson fift func validator-engine validator-engine-console generate-random-id dht-server lite-client
|
||||
ninja storage-daemon storage-daemon-cli tonlibjson fift func validator-engine validator-engine-console \
|
||||
generate-random-id dht-server lite-client tolk rldp-http-proxy dht-server proxy-liteserver create-state \
|
||||
blockchain-explorer emulator tonlibjson http-proxy adnl-proxy
|
||||
|
||||
FROM ubuntu:22.04
|
||||
RUN apt-get update && \
|
||||
apt-get install -y wget curl libatomic1 openssl libsodium-dev libmicrohttpd-dev liblz4-dev libjemalloc-dev htop net-tools netcat iptraf-ng jq tcpdump pv plzip && \
|
||||
apt-get install -y wget curl libatomic1 openssl libsodium-dev libmicrohttpd-dev liblz4-dev libjemalloc-dev htop \
|
||||
net-tools netcat iptraf-ng jq tcpdump pv plzip && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN mkdir -p /var/ton-work/db /var/ton-work/scripts /usr/share/ton/smartcont/ /usr/lib/fift/
|
||||
RUN mkdir -p /var/ton-work/db /var/ton-work/scripts /usr/share/ton/smartcont/auto /usr/lib/fift/
|
||||
|
||||
COPY --from=builder /ton/build/storage/storage-daemon/storage-daemon /usr/local/bin/
|
||||
COPY --from=builder /ton/build/storage/storage-daemon/storage-daemon-cli /usr/local/bin/
|
||||
|
@ -35,9 +38,20 @@ COPY --from=builder /ton/build/lite-client/lite-client /usr/local/bin/
|
|||
COPY --from=builder /ton/build/validator-engine/validator-engine /usr/local/bin/
|
||||
COPY --from=builder /ton/build/validator-engine-console/validator-engine-console /usr/local/bin/
|
||||
COPY --from=builder /ton/build/utils/generate-random-id /usr/local/bin/
|
||||
COPY --from=builder /ton/build/blockchain-explorer/blockchain-explorer /usr/local/bin/
|
||||
COPY --from=builder /ton/build/crypto/create-state /usr/local/bin/
|
||||
COPY --from=builder /ton/build/utils/proxy-liteserver /usr/local/bin/
|
||||
COPY --from=builder /ton/build/dht-server/dht-server /usr/local/bin/
|
||||
COPY --from=builder /ton/build/rldp-http-proxy/rldp-http-proxy /usr/local/bin/
|
||||
COPY --from=builder /ton/build/http/http-proxy /usr/local/bin/
|
||||
COPY --from=builder /ton/build/adnl/adnl-proxy /usr/local/bin/
|
||||
COPY --from=builder /ton/build/tonlib/libtonlibjson.so /usr/local/bin/
|
||||
COPY --from=builder /ton/build/emulator/libemulator.so /usr/local/bin/
|
||||
COPY --from=builder /ton/build/tolk/tolk /usr/local/bin/
|
||||
COPY --from=builder /ton/build/crypto/fift /usr/local/bin/
|
||||
COPY --from=builder /ton/build/crypto/func /usr/local/bin/
|
||||
COPY --from=builder /ton/crypto/smartcont/* /usr/share/ton/smartcont/
|
||||
COPY --from=builder /ton/crypto/smartcont/auto/* /usr/share/ton/smartcont/auto/
|
||||
COPY --from=builder /ton/crypto/fift/lib/* /usr/lib/fift/
|
||||
|
||||
WORKDIR /var/ton-work/db
|
||||
|
|
|
@ -26,106 +26,109 @@ IF %errorlevel% NEQ 0 (
|
|||
exit /b %errorlevel%
|
||||
)
|
||||
|
||||
if not exist "zlib" (
|
||||
git clone https://github.com/madler/zlib.git
|
||||
cd zlib
|
||||
git checkout v1.3.1
|
||||
cd contrib\vstudio\vc14
|
||||
msbuild zlibstat.vcxproj /p:Configuration=ReleaseWithoutAsm /p:platform=x64 -p:PlatformToolset=v142
|
||||
|
||||
echo Installing nasm...
|
||||
choco install -y nasm
|
||||
where nasm
|
||||
SET PATH=%PATH%;C:\Program Files\NASM
|
||||
IF %errorlevel% NEQ 0 (
|
||||
echo Can't install zlib
|
||||
echo Can't install nasm
|
||||
exit /b %errorlevel%
|
||||
)
|
||||
cd ..\..\..\..
|
||||
|
||||
mkdir third_libs
|
||||
cd third_libs
|
||||
|
||||
set third_libs=%cd%
|
||||
echo %third_libs%
|
||||
|
||||
if not exist "zlib" (
|
||||
git clone https://github.com/madler/zlib.git
|
||||
cd zlib
|
||||
git checkout v1.3.1
|
||||
cd contrib\vstudio\vc14
|
||||
msbuild zlibstat.vcxproj /p:Configuration=ReleaseWithoutAsm /p:platform=x64 -p:PlatformToolset=v142
|
||||
cd ..\..\..\..
|
||||
) else (
|
||||
echo Using zlib...
|
||||
echo Using zlib...
|
||||
)
|
||||
|
||||
if not exist "lz4" (
|
||||
git clone https://github.com/lz4/lz4.git
|
||||
cd lz4
|
||||
git checkout v1.9.4
|
||||
cd build\VS2017\liblz4
|
||||
msbuild liblz4.vcxproj /p:Configuration=Release /p:platform=x64 -p:PlatformToolset=v142
|
||||
|
||||
IF %errorlevel% NEQ 0 (
|
||||
echo Can't install lz4
|
||||
exit /b %errorlevel%
|
||||
)
|
||||
cd ..\..\..\..
|
||||
git clone https://github.com/lz4/lz4.git
|
||||
cd lz4
|
||||
git checkout v1.9.4
|
||||
cd build\VS2017\liblz4
|
||||
msbuild liblz4.vcxproj /p:Configuration=Release /p:platform=x64 -p:PlatformToolset=v142
|
||||
cd ..\..\..\..
|
||||
) else (
|
||||
echo Using lz4...
|
||||
echo Using lz4...
|
||||
)
|
||||
|
||||
curl --retry 5 --retry-delay 10 -Lo libsodium-1.0.18-stable-msvc.zip https://download.libsodium.org/libsodium/releases/libsodium-1.0.18-stable-msvc.zip
|
||||
IF %errorlevel% NEQ 0 (
|
||||
echo Can't download libsodium
|
||||
exit /b %errorlevel%
|
||||
)
|
||||
unzip libsodium-1.0.18-stable-msvc.zip
|
||||
if not exist "libsodium" (
|
||||
git clone https://github.com/jedisct1/libsodium
|
||||
cd libsodium
|
||||
git checkout 1.0.18-RELEASE
|
||||
msbuild libsodium.vcxproj /p:Configuration=Release /p:platform=x64 -p:PlatformToolset=v142
|
||||
cd ..
|
||||
) else (
|
||||
echo Using libsodium...
|
||||
echo Using libsodium...
|
||||
)
|
||||
|
||||
if not exist "openssl-3.1.4" (
|
||||
curl -Lo openssl-3.1.4.zip https://github.com/neodiX42/precompiled-openssl-win64/raw/main/openssl-3.1.4.zip
|
||||
IF %errorlevel% NEQ 0 (
|
||||
echo Can't download OpenSSL
|
||||
exit /b %errorlevel%
|
||||
)
|
||||
unzip -q openssl-3.1.4.zip
|
||||
if not exist "openssl" (
|
||||
git clone https://github.com/openssl/openssl.git
|
||||
cd openssl
|
||||
git checkout openssl-3.1.4
|
||||
where perl
|
||||
perl Configure VC-WIN64A
|
||||
IF %errorlevel% NEQ 0 (
|
||||
echo Can't configure openssl
|
||||
exit /b %errorlevel%
|
||||
)
|
||||
nmake
|
||||
cd ..
|
||||
) else (
|
||||
echo Using openssl...
|
||||
echo Using openssl...
|
||||
)
|
||||
|
||||
if not exist "libmicrohttpd-0.9.77-w32-bin" (
|
||||
curl -Lo libmicrohttpd-0.9.77-w32-bin.zip https://github.com/neodiX42/precompiled-openssl-win64/raw/main/libmicrohttpd-0.9.77-w32-bin.zip
|
||||
IF %errorlevel% NEQ 0 (
|
||||
echo Can't download libmicrohttpd
|
||||
exit /b %errorlevel%
|
||||
)
|
||||
unzip -q libmicrohttpd-0.9.77-w32-bin.zip
|
||||
if not exist "libmicrohttpd" (
|
||||
git clone https://github.com/Karlson2k/libmicrohttpd.git
|
||||
cd libmicrohttpd
|
||||
git checkout v1.0.1
|
||||
cd w32\VS2019
|
||||
msbuild libmicrohttpd.vcxproj /p:Configuration=Release-static /p:platform=x64 -p:PlatformToolset=v142
|
||||
IF %errorlevel% NEQ 0 (
|
||||
echo Can't compile libmicrohttpd
|
||||
exit /b %errorlevel%
|
||||
)
|
||||
cd ../../..
|
||||
) else (
|
||||
echo Using libmicrohttpd...
|
||||
echo Using libmicrohttpd...
|
||||
)
|
||||
|
||||
if not exist "readline-5.0-1-lib" (
|
||||
curl -Lo readline-5.0-1-lib.zip https://github.com/neodiX42/precompiled-openssl-win64/raw/main/readline-5.0-1-lib.zip
|
||||
IF %errorlevel% NEQ 0 (
|
||||
echo Can't download readline
|
||||
exit /b %errorlevel%
|
||||
)
|
||||
unzip -q -d readline-5.0-1-lib readline-5.0-1-lib.zip
|
||||
) else (
|
||||
echo Using readline...
|
||||
)
|
||||
|
||||
|
||||
set root=%cd%
|
||||
echo %root%
|
||||
set SODIUM_DIR=%root%\libsodium
|
||||
cd ..
|
||||
echo Current dir %cd%
|
||||
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -GNinja -DCMAKE_BUILD_TYPE=Release ^
|
||||
-DPORTABLE=1 ^
|
||||
-DSODIUM_USE_STATIC_LIBS=1 ^
|
||||
-DSODIUM_LIBRARY_RELEASE=%third_libs%\libsodium\Build\Release\x64\libsodium.lib ^
|
||||
-DSODIUM_LIBRARY_DEBUG=%third_libs%\libsodium\Build\Release\x64\libsodium.lib ^
|
||||
-DSODIUM_INCLUDE_DIR=%third_libs%\libsodium\src\libsodium\include ^
|
||||
-DLZ4_FOUND=1 ^
|
||||
-DLZ4_INCLUDE_DIRS=%root%\lz4\lib ^
|
||||
-DLZ4_LIBRARIES=%root%\lz4\build\VS2017\liblz4\bin\x64_Release\liblz4_static.lib ^
|
||||
-DLZ4_INCLUDE_DIRS=%third_libs%\lz4\lib ^
|
||||
-DLZ4_LIBRARIES=%third_libs%\lz4\build\VS2017\liblz4\bin\x64_Release\liblz4_static.lib ^
|
||||
-DMHD_FOUND=1 ^
|
||||
-DMHD_LIBRARY=%root%\libmicrohttpd-0.9.77-w32-bin\x86_64\VS2019\Release-static\libmicrohttpd.lib ^
|
||||
-DMHD_INCLUDE_DIR=%root%\libmicrohttpd-0.9.77-w32-bin\x86_64\VS2019\Release-static ^
|
||||
-DMHD_LIBRARY=%third_libs%\libmicrohttpd\w32\VS2019\Output\x64\libmicrohttpd.lib ^
|
||||
-DMHD_INCLUDE_DIR=%third_libs%\libmicrohttpd\src\include ^
|
||||
-DZLIB_FOUND=1 ^
|
||||
-DZLIB_INCLUDE_DIR=%root%\zlib ^
|
||||
-DZLIB_LIBRARIES=%root%\zlib\contrib\vstudio\vc14\x64\ZlibStatReleaseWithoutAsm\zlibstat.lib ^
|
||||
-DZLIB_INCLUDE_DIR=%third_libs%\zlib ^
|
||||
-DZLIB_LIBRARIES=%third_libs%\zlib\contrib\vstudio\vc14\x64\ZlibStatReleaseWithoutAsm\zlibstat.lib ^
|
||||
-DOPENSSL_FOUND=1 ^
|
||||
-DOPENSSL_INCLUDE_DIR=%root%\openssl-3.1.4\x64\include ^
|
||||
-DOPENSSL_CRYPTO_LIBRARY=%root%\openssl-3.1.4\x64\lib\libcrypto_static.lib ^
|
||||
-DREADLINE_INCLUDE_DIR=%root%\readline-5.0-1-lib\include ^
|
||||
-DREADLINE_LIBRARY=%root%\readline-5.0-1-lib\lib\readline.lib ^
|
||||
-DOPENSSL_INCLUDE_DIR=%third_libs%\openssl\include ^
|
||||
-DOPENSSL_CRYPTO_LIBRARY=%third_libs%\openssl\libcrypto_static.lib ^
|
||||
-DCMAKE_CXX_FLAGS="/DTD_WINDOWS=1 /EHsc /bigobj" ..
|
||||
|
||||
IF %errorlevel% NEQ 0 (
|
||||
echo Can't configure TON
|
||||
exit /b %errorlevel%
|
||||
|
@ -168,33 +171,38 @@ REM ctest -C Release --output-on-failure -E "test-catchain|test-actors|test-val
|
|||
)
|
||||
)
|
||||
|
||||
|
||||
echo Creating artifacts...
|
||||
echo Strip and copy artifacts
|
||||
cd ..
|
||||
echo where strip
|
||||
where strip
|
||||
mkdir artifacts
|
||||
mkdir artifacts\smartcont
|
||||
mkdir artifacts\lib
|
||||
|
||||
for %%I in (build\storage\storage-daemon\storage-daemon.exe ^
|
||||
build\storage\storage-daemon\storage-daemon-cli.exe ^
|
||||
build\blockchain-explorer\blockchain-explorer.exe ^
|
||||
build\crypto\fift.exe ^
|
||||
build\crypto\tlbc.exe ^
|
||||
build\crypto\func.exe ^
|
||||
build\tolk\tolk.exe ^
|
||||
build\crypto\create-state.exe ^
|
||||
build\validator-engine-console\validator-engine-console.exe ^
|
||||
build\tonlib\tonlib-cli.exe ^
|
||||
build\tonlib\tonlibjson.dll ^
|
||||
build\http\http-proxy.exe ^
|
||||
build\rldp-http-proxy\rldp-http-proxy.exe ^
|
||||
build\dht-server\dht-server.exe ^
|
||||
build\lite-client\lite-client.exe ^
|
||||
build\validator-engine\validator-engine.exe ^
|
||||
build\utils\generate-random-id.exe ^
|
||||
build\utils\json2tlo.exe ^
|
||||
build\utils\proxy-liteserver.exe ^
|
||||
build\adnl\adnl-proxy.exe ^
|
||||
build\emulator\emulator.dll) do (strip -s %%I & copy %%I artifacts\)
|
||||
build\storage\storage-daemon\storage-daemon-cli.exe ^
|
||||
build\blockchain-explorer\blockchain-explorer.exe ^
|
||||
build\crypto\fift.exe ^
|
||||
build\crypto\tlbc.exe ^
|
||||
build\crypto\func.exe ^
|
||||
build\tolk\tolk.exe ^
|
||||
build\crypto\create-state.exe ^
|
||||
build\validator-engine-console\validator-engine-console.exe ^
|
||||
build\tonlib\tonlib-cli.exe ^
|
||||
build\tonlib\tonlibjson.dll ^
|
||||
build\http\http-proxy.exe ^
|
||||
build\rldp-http-proxy\rldp-http-proxy.exe ^
|
||||
build\dht-server\dht-server.exe ^
|
||||
build\lite-client\lite-client.exe ^
|
||||
build\validator-engine\validator-engine.exe ^
|
||||
build\utils\generate-random-id.exe ^
|
||||
build\utils\json2tlo.exe ^
|
||||
build\utils\proxy-liteserver.exe ^
|
||||
build\adnl\adnl-proxy.exe ^
|
||||
build\emulator\emulator.dll) do (
|
||||
echo strip -s %%I & copy %%I artifacts\
|
||||
strip -s %%I & copy %%I artifacts\
|
||||
)
|
||||
|
||||
xcopy /e /k /h /i crypto\smartcont artifacts\smartcont
|
||||
xcopy /e /k /h /i crypto\fift\lib artifacts\lib
|
||||
|
|
|
@ -26,109 +26,109 @@ IF %errorlevel% NEQ 0 (
|
|||
exit /b %errorlevel%
|
||||
)
|
||||
|
||||
rd /s /q ".\third-party\secp256k1\build"
|
||||
|
||||
if not exist "zlib" (
|
||||
git clone https://github.com/madler/zlib.git
|
||||
cd zlib
|
||||
git checkout v1.3.1
|
||||
cd contrib\vstudio\vc14
|
||||
msbuild zlibstat.vcxproj /p:Configuration=ReleaseWithoutAsm /p:platform=x64 -p:PlatformToolset=v143
|
||||
|
||||
echo Installing nasm...
|
||||
choco install -y nasm
|
||||
where nasm
|
||||
SET PATH=%PATH%;C:\Program Files\NASM
|
||||
IF %errorlevel% NEQ 0 (
|
||||
echo Can't install zlib
|
||||
echo Can't install nasm
|
||||
exit /b %errorlevel%
|
||||
)
|
||||
cd ..\..\..\..
|
||||
|
||||
mkdir third_libs
|
||||
cd third_libs
|
||||
|
||||
set third_libs=%cd%
|
||||
echo %third_libs%
|
||||
|
||||
if not exist "zlib" (
|
||||
git clone https://github.com/madler/zlib.git
|
||||
cd zlib
|
||||
git checkout v1.3.1
|
||||
cd contrib\vstudio\vc14
|
||||
msbuild zlibstat.vcxproj /p:Configuration=ReleaseWithoutAsm /p:platform=x64 -p:PlatformToolset=v143
|
||||
cd ..\..\..\..
|
||||
) else (
|
||||
echo Using zlib...
|
||||
echo Using zlib...
|
||||
)
|
||||
|
||||
if not exist "lz4" (
|
||||
git clone https://github.com/lz4/lz4.git
|
||||
cd lz4
|
||||
git checkout v1.9.4
|
||||
cd build\VS2017\liblz4
|
||||
msbuild liblz4.vcxproj /p:Configuration=Release /p:platform=x64 -p:PlatformToolset=v143
|
||||
dir /s
|
||||
IF %errorlevel% NEQ 0 (
|
||||
echo Can't install lz4
|
||||
exit /b %errorlevel%
|
||||
)
|
||||
cd ..\..\..\..
|
||||
git clone https://github.com/lz4/lz4.git
|
||||
cd lz4
|
||||
git checkout v1.9.4
|
||||
cd build\VS2022\liblz4
|
||||
msbuild liblz4.vcxproj /p:Configuration=Release /p:platform=x64 -p:PlatformToolset=v143
|
||||
cd ..\..\..\..
|
||||
) else (
|
||||
echo Using lz4...
|
||||
echo Using lz4...
|
||||
)
|
||||
|
||||
if not exist "libsodium" (
|
||||
curl -Lo libsodium-1.0.18-stable-msvc.zip https://download.libsodium.org/libsodium/releases/libsodium-1.0.18-stable-msvc.zip
|
||||
IF %errorlevel% NEQ 0 (
|
||||
echo Can't download libsodium
|
||||
exit /b %errorlevel%
|
||||
)
|
||||
unzip libsodium-1.0.18-stable-msvc.zip
|
||||
git clone https://github.com/jedisct1/libsodium
|
||||
cd libsodium
|
||||
git checkout 1.0.18-RELEASE
|
||||
msbuild libsodium.vcxproj /p:Configuration=Release /p:platform=x64 -p:PlatformToolset=v143
|
||||
cd ..
|
||||
) else (
|
||||
echo Using libsodium...
|
||||
echo Using libsodium...
|
||||
)
|
||||
|
||||
if not exist "openssl-3.1.4" (
|
||||
curl -Lo openssl-3.1.4.zip https://github.com/neodiX42/precompiled-openssl-win64/raw/main/openssl-3.1.4.zip
|
||||
IF %errorlevel% NEQ 0 (
|
||||
echo Can't download OpenSSL
|
||||
exit /b %errorlevel%
|
||||
)
|
||||
unzip -q openssl-3.1.4.zip
|
||||
if not exist "openssl" (
|
||||
git clone https://github.com/openssl/openssl.git
|
||||
cd openssl
|
||||
git checkout openssl-3.1.4
|
||||
where perl
|
||||
perl Configure VC-WIN64A
|
||||
IF %errorlevel% NEQ 0 (
|
||||
echo Can't configure openssl
|
||||
exit /b %errorlevel%
|
||||
)
|
||||
nmake
|
||||
cd ..
|
||||
) else (
|
||||
echo Using openssl...
|
||||
echo Using openssl...
|
||||
)
|
||||
|
||||
if not exist "libmicrohttpd-0.9.77-w32-bin" (
|
||||
curl -Lo libmicrohttpd-0.9.77-w32-bin.zip https://github.com/neodiX42/precompiled-openssl-win64/raw/main/libmicrohttpd-0.9.77-w32-bin.zip
|
||||
IF %errorlevel% NEQ 0 (
|
||||
echo Can't download libmicrohttpd
|
||||
exit /b %errorlevel%
|
||||
)
|
||||
unzip -q libmicrohttpd-0.9.77-w32-bin.zip
|
||||
if not exist "libmicrohttpd" (
|
||||
git clone https://github.com/Karlson2k/libmicrohttpd.git
|
||||
cd libmicrohttpd
|
||||
git checkout v1.0.1
|
||||
cd w32\VS2022
|
||||
msbuild libmicrohttpd.vcxproj /p:Configuration=Release-static /p:platform=x64 -p:PlatformToolset=v143
|
||||
IF %errorlevel% NEQ 0 (
|
||||
echo Can't compile libmicrohttpd
|
||||
exit /b %errorlevel%
|
||||
)
|
||||
cd ../../..
|
||||
) else (
|
||||
echo Using libmicrohttpd...
|
||||
echo Using libmicrohttpd...
|
||||
)
|
||||
|
||||
if not exist "readline-5.0-1-lib" (
|
||||
curl -Lo readline-5.0-1-lib.zip https://github.com/neodiX42/precompiled-openssl-win64/raw/main/readline-5.0-1-lib.zip
|
||||
IF %errorlevel% NEQ 0 (
|
||||
echo Can't download readline
|
||||
exit /b %errorlevel%
|
||||
)
|
||||
unzip -q -d readline-5.0-1-lib readline-5.0-1-lib.zip
|
||||
) else (
|
||||
echo Using readline...
|
||||
)
|
||||
|
||||
|
||||
set root=%cd%
|
||||
echo %root%
|
||||
set SODIUM_DIR=%root%\libsodium
|
||||
cd ..
|
||||
echo Current dir %cd%
|
||||
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -GNinja -DCMAKE_BUILD_TYPE=Release ^
|
||||
-DPORTABLE=1 ^
|
||||
-DSODIUM_USE_STATIC_LIBS=1 ^
|
||||
-DSODIUM_LIBRARY_RELEASE=%third_libs%\libsodium\Build\Release\x64\libsodium.lib ^
|
||||
-DSODIUM_LIBRARY_DEBUG=%third_libs%\libsodium\Build\Release\x64\libsodium.lib ^
|
||||
-DSODIUM_INCLUDE_DIR=%third_libs%\libsodium\src\libsodium\include ^
|
||||
-DLZ4_FOUND=1 ^
|
||||
-DLZ4_INCLUDE_DIRS=%root%\lz4\lib ^
|
||||
-DLZ4_LIBRARIES=%root%\lz4\build\VS2017\liblz4\bin\x64_Release\liblz4_static.lib ^
|
||||
-DLZ4_INCLUDE_DIRS=%third_libs%\lz4\lib ^
|
||||
-DLZ4_LIBRARIES=%third_libs%\lz4\build\VS2022\liblz4\bin\x64_Release\liblz4_static.lib ^
|
||||
-DMHD_FOUND=1 ^
|
||||
-DMHD_LIBRARY=%root%\libmicrohttpd-0.9.77-w32-bin\x86_64\VS2019\Release-static\libmicrohttpd.lib ^
|
||||
-DMHD_INCLUDE_DIR=%root%\libmicrohttpd-0.9.77-w32-bin\x86_64\VS2019\Release-static ^
|
||||
-DMHD_LIBRARY=%third_libs%\libmicrohttpd\w32\VS2022\Output\x64\libmicrohttpd.lib ^
|
||||
-DMHD_INCLUDE_DIR=%third_libs%\libmicrohttpd\src\include ^
|
||||
-DZLIB_FOUND=1 ^
|
||||
-DZLIB_INCLUDE_DIR=%root%\zlib ^
|
||||
-DZLIB_LIBRARIES=%root%\zlib\contrib\vstudio\vc14\x64\ZlibStatReleaseWithoutAsm\zlibstat.lib ^
|
||||
-DZLIB_INCLUDE_DIR=%third_libs%\zlib ^
|
||||
-DZLIB_LIBRARIES=%third_libs%\zlib\contrib\vstudio\vc14\x64\ZlibStatReleaseWithoutAsm\zlibstat.lib ^
|
||||
-DOPENSSL_FOUND=1 ^
|
||||
-DOPENSSL_INCLUDE_DIR=%root%\openssl-3.1.4\x64\include ^
|
||||
-DOPENSSL_CRYPTO_LIBRARY=%root%\openssl-3.1.4\x64\lib\libcrypto_static.lib ^
|
||||
-DREADLINE_INCLUDE_DIR=%root%\readline-5.0-1-lib\include ^
|
||||
-DREADLINE_LIBRARY=%root%\readline-5.0-1-lib\lib\readline.lib ^
|
||||
-DOPENSSL_INCLUDE_DIR=%third_libs%\openssl\include ^
|
||||
-DOPENSSL_CRYPTO_LIBRARY=%third_libs%\openssl\libcrypto_static.lib ^
|
||||
-DCMAKE_CXX_FLAGS="/DTD_WINDOWS=1 /EHsc /bigobj" ..
|
||||
|
||||
IF %errorlevel% NEQ 0 (
|
||||
echo Can't configure TON
|
||||
exit /b %errorlevel%
|
||||
|
@ -171,32 +171,38 @@ REM ctest -C Release --output-on-failure -E "test-catchain|test-actors|test-val
|
|||
)
|
||||
)
|
||||
|
||||
|
||||
echo Creating artifacts...
|
||||
echo Strip and copy artifacts
|
||||
cd ..
|
||||
echo where strip
|
||||
where strip
|
||||
mkdir artifacts
|
||||
mkdir artifacts\smartcont
|
||||
mkdir artifacts\lib
|
||||
|
||||
for %%I in (build\storage\storage-daemon\storage-daemon.exe ^
|
||||
build\storage\storage-daemon\storage-daemon-cli.exe ^
|
||||
build\blockchain-explorer\blockchain-explorer.exe ^
|
||||
build\crypto\fift.exe ^
|
||||
build\crypto\tlbc.exe ^
|
||||
build\crypto\func.exe ^
|
||||
build\tolk\tolk.exe ^
|
||||
build\crypto\create-state.exe ^
|
||||
build\validator-engine-console\validator-engine-console.exe ^
|
||||
build\tonlib\tonlib-cli.exe ^
|
||||
build\tonlib\tonlibjson.dll ^
|
||||
build\http\http-proxy.exe ^
|
||||
build\rldp-http-proxy\rldp-http-proxy.exe ^
|
||||
build\dht-server\dht-server.exe ^
|
||||
build\lite-client\lite-client.exe ^
|
||||
build\validator-engine\validator-engine.exe ^
|
||||
build\utils\generate-random-id.exe ^
|
||||
build\utils\json2tlo.exe ^
|
||||
build\adnl\adnl-proxy.exe ^
|
||||
build\emulator\emulator.dll) do (strip -s %%I & copy %%I artifacts\)
|
||||
build\storage\storage-daemon\storage-daemon-cli.exe ^
|
||||
build\blockchain-explorer\blockchain-explorer.exe ^
|
||||
build\crypto\fift.exe ^
|
||||
build\crypto\tlbc.exe ^
|
||||
build\crypto\func.exe ^
|
||||
build\tolk\tolk.exe ^
|
||||
build\crypto\create-state.exe ^
|
||||
build\validator-engine-console\validator-engine-console.exe ^
|
||||
build\tonlib\tonlib-cli.exe ^
|
||||
build\tonlib\tonlibjson.dll ^
|
||||
build\http\http-proxy.exe ^
|
||||
build\rldp-http-proxy\rldp-http-proxy.exe ^
|
||||
build\dht-server\dht-server.exe ^
|
||||
build\lite-client\lite-client.exe ^
|
||||
build\validator-engine\validator-engine.exe ^
|
||||
build\utils\generate-random-id.exe ^
|
||||
build\utils\json2tlo.exe ^
|
||||
build\utils\proxy-liteserver.exe ^
|
||||
build\adnl\adnl-proxy.exe ^
|
||||
build\emulator\emulator.dll) do (
|
||||
echo strip -s %%I & copy %%I artifacts\
|
||||
strip -s %%I & copy %%I artifacts\
|
||||
)
|
||||
|
||||
xcopy /e /k /h /i crypto\smartcont artifacts\smartcont
|
||||
xcopy /e /k /h /i crypto\fift\lib artifacts\lib
|
||||
|
|
Loading…
Reference in a new issue