mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-07 07:33:52 +02:00
Add TDLib build phases for tde2e part.
This commit is contained in:
parent
b583240d58
commit
2c048376d4
2 changed files with 107 additions and 0 deletions
|
@ -811,6 +811,38 @@ RUN git clone -b v3.2.2 --depth=1 {{ GIT }}/ada-url/ada.git \
|
|||
&& cd .. \
|
||||
&& rm -rf ada
|
||||
|
||||
FROM builder AS tdlib
|
||||
COPY --link --from=openssl {{ LibrariesPath }}/openssl-cache /
|
||||
|
||||
# Shallow clone on a specific commit.
|
||||
RUN git init td \
|
||||
&& cd td \
|
||||
&& git remote add origin {{ GIT }}/tdlib/td.git \
|
||||
&& git fetch --depth=1 origin a03a90470d6fca9a5a3db747ba3f3e4a465b5fe7 \
|
||||
&& git reset --hard FETCH_HEAD \
|
||||
&& rm -rf .git \
|
||||
&& env -u CFLAGS -u CXXFLAGS cmake -B out/Release . \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_C_FLAGS_RELEASE="$CFLAGS" \
|
||||
-DCMAKE_C_FLAGS_DEBUG="{{ CFLAGS_DEBUG }}" \
|
||||
-DCMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS" \
|
||||
-DCMAKE_CXX_FLAGS_DEBUG="{{ CFLAGS_DEBUG }}" \
|
||||
&& cmake --build out/Release --config Release --target tde2e -j$(nproc)
|
||||
|
||||
WORKDIR td
|
||||
|
||||
{%- if DEBUG %}
|
||||
|
||||
FROM tdlib AS tdlib_debug
|
||||
RUN env -u CFLAGS -u CXXFLAGS cmake -B out/Debug . \
|
||||
-DCMAKE_BUILD_TYPE=Debug \
|
||||
-DCMAKE_C_FLAGS_RELEASE="$CFLAGS" \
|
||||
-DCMAKE_C_FLAGS_DEBUG="{{ CFLAGS_DEBUG }}" \
|
||||
-DCMAKE_CXX_FLAGS_RELEASE="$CXXFLAGS" \
|
||||
-DCMAKE_CXX_FLAGS_DEBUG="{{ CFLAGS_DEBUG }}" \
|
||||
&& cmake --build out/Debug --config Debug --target tde2e -j$(nproc)
|
||||
{%- endif %}
|
||||
|
||||
FROM builder
|
||||
COPY --link --from=zlib {{ LibrariesPath }}/zlib-cache /
|
||||
COPY --link --from=xz {{ LibrariesPath }}/xz-cache /
|
||||
|
@ -860,6 +892,11 @@ COPY --link --from=ada {{ LibrariesPath }}/ada-cache /
|
|||
COPY --link --from=webrtc_debug {{ LibrariesPath }}/tg_owt/out/Debug tg_owt/out/Debug
|
||||
{%- endif %}
|
||||
|
||||
COPY --link --from=tdlib {{ LibrariesPath }}/td td
|
||||
{%- if DEBUG %}
|
||||
COPY --link --from=tdlib_debug {{ LibrariesPath }}/td/out/Debug td/out/Debug
|
||||
{%- endif %}
|
||||
|
||||
WORKDIR ../tdesktop
|
||||
ENV QT {{ QT }}
|
||||
ENV BOOST_INCLUDEDIR /usr/include/boost1.78
|
||||
|
|
|
@ -1925,6 +1925,76 @@ win:
|
|||
# -Dprotobuf_WITH_ZLIB_DEFAULT=OFF
|
||||
# cmake --build . $MAKE_THREADS_CNT
|
||||
|
||||
stage('td', """
|
||||
git clone https://github.com/tdlib/td.git
|
||||
cd td
|
||||
git checkout a03a90470d
|
||||
win:
|
||||
SET OPENSSL_DIR=%LIBS_DIR%\\openssl3
|
||||
SET OPENSSL_LIBS_DIR=%OPENSSL_DIR%\\out
|
||||
SET ZLIB_LIBS_DIR=%LIBS_DIR%\\zlib
|
||||
mkdir out
|
||||
cd out
|
||||
mkdir Debug
|
||||
cd Debug
|
||||
cmake -A %WIN32X64% ^
|
||||
-DOPENSSL_FOUND=1 ^
|
||||
-DOPENSSL_INCLUDE_DIR=%OPENSSL_DIR%\\include ^
|
||||
-DOPENSSL_CRYPTO_LIBRARY="%OPENSSL_LIBS_DIR%.dbg\\libcrypto.lib" ^
|
||||
-DGPERF_EXECUTABLE=%ROOT_DIR%\\ThirdParty\\gperf\\bin\\gperf ^
|
||||
-DZLIB_FOUND=1 ^
|
||||
-DZLIB_INCLUDE_DIR=%ZLIB_LIBS_DIR% ^
|
||||
-DZLIB_LIBRARIES="%ZLIB_LIBS_DIR%\\Debug\\zlibstaticd.lib" ^
|
||||
-DCMAKE_CXX_FLAGS_DEBUG="/DZLIB_WINAPI /DNDEBUG /MTd /Zi /Od /Ob0" ^
|
||||
-DCMAKE_C_FLAGS_DEBUG="/DNDEBUG /MTd /Zi /Od /Ob0" ^
|
||||
-DCMAKE_EXE_LINKER_FLAGS="/SAFESEH:NO Ws2_32.lib Gdi32.lib Advapi32.lib Crypt32.lib User32.lib %OPENSSL_LIBS_DIR%.dbg\\libssl.lib" ^
|
||||
-DCMAKE_SHARED_LINKER_FLAGS="/SAFESEH:NO Ws2_32.lib Gdi32.lib Advapi32.lib Crypt32.lib User32.lib %OPENSSL_LIBS_DIR%.dbg\\libssl.lib" ^
|
||||
-DTD_ENABLE_MULTI_PROCESSOR_COMPILATION=ON ^
|
||||
../..
|
||||
cmake --build . --config Debug --target tde2e
|
||||
release:
|
||||
cd ..
|
||||
mkdir Release
|
||||
cd Release
|
||||
cmake -A %WIN32X64% ^
|
||||
-DOPENSSL_FOUND=1 ^
|
||||
-DOPENSSL_INCLUDE_DIR=%OPENSSL_DIR%\\include ^
|
||||
-DOPENSSL_CRYPTO_LIBRARY="%OPENSSL_LIBS_DIR%\\libcrypto.lib" ^
|
||||
-DGPERF_EXECUTABLE=%ROOT_DIR%\\ThirdParty\\gperf\\bin\\gperf ^
|
||||
-DZLIB_FOUND=1 ^
|
||||
-DZLIB_INCLUDE_DIR=%ZLIB_LIBS_DIR% ^
|
||||
-DZLIB_LIBRARIES="%ZLIB_LIBS_DIR%\\Release\\zlibstatic.lib" ^
|
||||
-DCMAKE_CXX_FLAGS_RELEASE="/DZLIB_WINAPI /MT /Ob2" ^
|
||||
-DCMAKE_C_FLAGS_RELEASE="/MT /Ob2" ^
|
||||
-DCMAKE_EXE_LINKER_FLAGS="/SAFESEH:NO Ws2_32.lib Gdi32.lib Advapi32.lib Crypt32.lib User32.lib %OPENSSL_LIBS_DIR%\\libssl.lib" ^
|
||||
-DCMAKE_SHARED_LINKER_FLAGS="/SAFESEH:NO Ws2_32.lib Gdi32.lib Advapi32.lib Crypt32.lib User32.lib %OPENSSL_LIBS_DIR%\\libssl.lib" ^
|
||||
-DTD_ENABLE_MULTI_PROCESSOR_COMPILATION=ON ^
|
||||
../..
|
||||
cmake --build . --config Release --target tde2e
|
||||
mac:
|
||||
buildTd() {
|
||||
BUILD_CONFIG=$1
|
||||
mkdir -p out/$BUILD_CONFIG
|
||||
cd out/$BUILD_CONFIG
|
||||
cmake -G Ninja \
|
||||
-DCMAKE_BUILD_TYPE=$BUILD_CONFIG \
|
||||
-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" \
|
||||
-DOPENSSL_FOUND=1 \
|
||||
-DOPENSSL_INCLUDE_DIR=$LIBS_DIR/openssl3/include \
|
||||
-DOPENSSL_SSL_LIBRARY=$LIBS_DIR/openssl3/libssl.a \
|
||||
-DOPENSSL_CRYPTO_LIBRARY=$LIBS_DIR/openssl3/libcrypto.a \
|
||||
-DZLIB_FOUND=1 \
|
||||
-DZLIB_LIBRARIES=$USED_PREFIX/lib/libz.a \
|
||||
../..
|
||||
cmake --build . --config $BUILD_CONFIG --target tde2e $MAKE_THREADS_CNT
|
||||
cd ../..
|
||||
}
|
||||
|
||||
buildTd Debug
|
||||
release:
|
||||
buildTd Release
|
||||
""")
|
||||
|
||||
if win:
|
||||
currentCodePage = subprocess.run('chcp', capture_output=True, shell=True, text=True, env=modifiedEnv).stdout.strip().split()[-1]
|
||||
subprocess.run('chcp 65001 > nul', shell=True, env=modifiedEnv)
|
||||
|
|
Loading…
Add table
Reference in a new issue