Link system libwebp instead of Qt-s.

This commit is contained in:
John Preston 2023-09-13 17:30:28 +04:00
parent e74021fbc9
commit 7b65c9174f
3 changed files with 68 additions and 11 deletions

View File

@ -238,6 +238,16 @@ RUN git clone -b v1.11.0 --depth=1 {{ GIT }}/webmproject/libvpx.git \
&& cd .. \
&& rm -rf libvpx
FROM builder AS libwebp
RUN git clone -b chrome-m116-5845 --depth=1 {{ GIT }}/webmproject/libwebp.git \
&& cd libwebp \
&& cmake -GNinja -B build . \
-DCMAKE_BUILD_TYPE=None \
&& cmake --build build --parallel \
&& DESTDIR="{{ LibrariesPath }}/libwebp-cache" cmake --install build \
&& cd .. \
&& rm -rf libwebp
FROM builder AS libavif
COPY --link --from=dav1d {{ LibrariesPath }}/dav1d-cache /
@ -749,6 +759,7 @@ COPY --link --from=xcb-cursor {{ LibrariesPath }}/xcb-cursor-cache /
COPY --link --from=wayland {{ LibrariesPath }}/wayland-cache /
COPY --link --from=openssl {{ LibrariesPath }}/openssl-cache /
COPY --link --from=xkbcommon {{ LibrariesPath }}/xkbcommon-cache /
COPY --link --from=libwebp {{ LibrariesPath }}/libwebp-cache /
ENV OPENSSL_ROOT_DIR {{ OPENSSL_PREFIX }}
@ -772,6 +783,7 @@ RUN git clone -b {{ QT_TAG }} --depth=1 https://code.qt.io/qt/qt5.git qt_{{ QT }
-static \
-dbus-runtime \
-openssl-linked \
-system-webp \
-nomake examples \
-nomake tests \
&& cmake --build . --parallel \
@ -884,6 +896,7 @@ COPY --link --from=qt {{ LibrariesPath }}/qt-cache /
COPY --link --from=breakpad {{ LibrariesPath }}/breakpad-cache /
COPY --link --from=webrtc {{ LibrariesPath }}/tg_owt tg_owt
COPY --link --from=webrtc_release {{ LibrariesPath }}/tg_owt/out/Release tg_owt/out/Release
COPY --link --from=libwebp {{ LibrariesPath }}/libwebp-cache /
{%- if DEBUG %}
COPY --link --from=webrtc_debug {{ LibrariesPath }}/tg_owt/out/Debug tg_owt/out/Debug

View File

@ -884,6 +884,43 @@ depends:yasm/yasm
make install
""")
stage('libwebp', """
git clone https://github.com/webmproject/libwebp.git
cd libwebp
git checkout chrome-m116-5845
win:
nmake /f Makefile.vc CFG=debug-static OBJDIR=out RTLIBCFG=static all
nmake /f Makefile.vc CFG=release-static OBJDIR=out RTLIBCFG=static all
copy out\\release-static\\$X8664\\lib\\libwebp.lib out\\release-static\\$X8664\\lib\\webp.lib
copy out\\release-static\\$X8664\\lib\\libwebpdemux.lib out\\release-static\\$X8664\\lib\\webpdemux.lib
copy out\\release-static\\$X8664\\lib\\libwebpmux.lib out\\release-static\\$X8664\\lib\\webpmux.lib
mac:
CFLAGS=$UNGUARDED cmake -B build.arm64 -G Ninja . \\
-D CMAKE_BUILD_TYPE=Release \\
-D CMAKE_INSTALL_PREFIX=$USED_PREFIX \\
-D CMAKE_OSX_DEPLOYMENT_TARGET:STRING=$MACOSX_DEPLOYMENT_TARGET \\
-D CMAKE_OSX_ARCHITECTURES=arm64
cmake --build build.arm64 $MAKE_THREADS_CNT
CFLAGS=$UNGUARDED cmake -B build -G Ninja . \\
-D CMAKE_BUILD_TYPE=Release \\
-D CMAKE_INSTALL_PREFIX=$USED_PREFIX \\
-D CMAKE_OSX_DEPLOYMENT_TARGET:STRING=$MACOSX_DEPLOYMENT_TARGET \\
-D CMAKE_OSX_ARCHITECTURES=x86_64
cmake --build build $MAKE_THREADS_CNT
lipo -create build.arm64/libexampleutil.a build/libexampleutil.a -output build/libexampleutil.a
lipo -create build.arm64/libextras.a build/libextras.a -output build/libextras.a
lipo -create build.arm64/libimagedec.a build/libimagedec.a -output build/libimagedec.a
lipo -create build.arm64/libimageenc.a build/libimageenc.a -output build/libimageenc.a
lipo -create build.arm64/libimageioutil.a build/libimageioutil.a -output build/libimageioutil.a
lipo -create build.arm64/libsharpyuv.a build/libsharpyuv.a -output build/libsharpyuv.a
lipo -create build.arm64/libwebp.a build/libwebp.a -output build/libwebp.a
lipo -create build.arm64/libwebpdecoder.a build/libwebpdecoder.a -output build/libwebpdecoder.a
lipo -create build.arm64/libwebpdemux.a build/libwebpdemux.a -output build/libwebpdemux.a
lipo -create build.arm64/libwebpmux.a build/libwebpmux.a -output build/libwebpmux.a
cmake --install build
""")
stage('nv-codec-headers', """
win:
git clone https://github.com/FFmpeg/nv-codec-headers.git
@ -1258,6 +1295,7 @@ win:
SET OPENSSL_DIR=%LIBS_DIR%\\openssl
SET OPENSSL_LIBS_DIR=%OPENSSL_DIR%\\out
SET ZLIB_LIBS_DIR=%LIBS_DIR%\\zlib
SET WEBP_DIR=%LIBS_DIR%\\libwebp
configure -prefix "%LIBS_DIR%\\Qt-5.15.10" ^
%CONFIGURATIONS% ^
-force-debug-info ^
@ -1269,18 +1307,21 @@ win:
-I "%ANGLE_DIR%\\include" ^
-D "KHRONOS_STATIC=" ^
-D "DESKTOP_APP_QT_STATIC_ANGLE=" ^
QMAKE_LIBS_OPENGL_ES2_DEBUG="%ANGLE_LIBS_DIR%\\Debug\\tg_angle.lib %ZLIB_LIBS_DIR%\Debug\zlibstaticd.lib d3d9.lib dxgi.lib dxguid.lib" ^
QMAKE_LIBS_OPENGL_ES2_RELEASE="%ANGLE_LIBS_DIR%\\Release\\tg_angle.lib %ZLIB_LIBS_DIR%\Release\zlibstatic.lib d3d9.lib dxgi.lib dxguid.lib" ^
QMAKE_LIBS_OPENGL_ES2_DEBUG="%ANGLE_LIBS_DIR%\\Debug\\tg_angle.lib %ZLIB_LIBS_DIR%\\Debug\\zlibstaticd.lib d3d9.lib dxgi.lib dxguid.lib" ^
QMAKE_LIBS_OPENGL_ES2_RELEASE="%ANGLE_LIBS_DIR%\\Release\\tg_angle.lib %ZLIB_LIBS_DIR%\\Release\\zlibstatic.lib d3d9.lib dxgi.lib dxguid.lib" ^
-egl ^
QMAKE_LIBS_EGL_DEBUG="%ANGLE_LIBS_DIR%\\Debug\\tg_angle.lib %ZLIB_LIBS_DIR%\Debug\zlibstaticd.lib d3d9.lib dxgi.lib dxguid.lib Gdi32.lib User32.lib" ^
QMAKE_LIBS_EGL_RELEASE="%ANGLE_LIBS_DIR%\\Release\\tg_angle.lib %ZLIB_LIBS_DIR%\Release\zlibstatic.lib d3d9.lib dxgi.lib dxguid.lib Gdi32.lib User32.lib" ^
QMAKE_LIBS_EGL_DEBUG="%ANGLE_LIBS_DIR%\\Debug\\tg_angle.lib %ZLIB_LIBS_DIR%\\Debug\\zlibstaticd.lib d3d9.lib dxgi.lib dxguid.lib Gdi32.lib User32.lib" ^
QMAKE_LIBS_EGL_RELEASE="%ANGLE_LIBS_DIR%\\Release\\tg_angle.lib %ZLIB_LIBS_DIR%\\Release\\zlibstatic.lib d3d9.lib dxgi.lib dxguid.lib Gdi32.lib User32.lib" ^
-openssl-linked ^
-I "%OPENSSL_DIR%\include" ^
OPENSSL_LIBS_DEBUG="%OPENSSL_LIBS_DIR%.dbg\libssl.lib %OPENSSL_LIBS_DIR%.dbg\libcrypto.lib Ws2_32.lib Gdi32.lib Advapi32.lib Crypt32.lib User32.lib" ^
OPENSSL_LIBS_RELEASE="%OPENSSL_LIBS_DIR%\libssl.lib %OPENSSL_LIBS_DIR%\libcrypto.lib Ws2_32.lib Gdi32.lib Advapi32.lib Crypt32.lib User32.lib" ^
-I "%OPENSSL_DIR%\\include" ^
OPENSSL_LIBS_DEBUG="%OPENSSL_LIBS_DIR%.dbg\\libssl.lib %OPENSSL_LIBS_DIR%.dbg\\libcrypto.lib Ws2_32.lib Gdi32.lib Advapi32.lib Crypt32.lib User32.lib" ^
OPENSSL_LIBS_RELEASE="%OPENSSL_LIBS_DIR%\\libssl.lib %OPENSSL_LIBS_DIR%\\libcrypto.lib Ws2_32.lib Gdi32.lib Advapi32.lib Crypt32.lib User32.lib" ^
-I "%MOZJPEG_DIR%" ^
LIBJPEG_LIBS_DEBUG="%MOZJPEG_DIR%\Debug\jpeg-static.lib" ^
LIBJPEG_LIBS_RELEASE="%MOZJPEG_DIR%\Release\jpeg-static.lib" ^
LIBJPEG_LIBS_DEBUG="%MOZJPEG_DIR%\\Debug\\jpeg-static.lib" ^
LIBJPEG_LIBS_RELEASE="%MOZJPEG_DIR%\\Release\\jpeg-static.lib" ^
-system-webp ^
-I "%WEBP_DIR%\\src" ^
-L "%WEBP_DIR%\\out\\release-static\\$X8664\\lib" ^
-mp ^
-no-feature-netlistmgr ^
-nomake examples ^
@ -1342,11 +1383,14 @@ mac:
-opengl desktop \
-no-openssl \
-securetransport \
-system-webp \
-I "$USED_PREFIX/include" \
-no-feature-futimens \
-nomake examples \
-nomake tests \
-platform macx-clang -- -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"
-platform macx-clang -- \
-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" \
-DCMAKE_PREFIX_PATH="$USED_PREFIX"
ninja
ninja install

2
cmake

@ -1 +1 @@
Subproject commit 2440fc9e87b40b7224e927bfc3b914146d0cd4cf
Subproject commit 491a7fdbae6629dd06a53fc17ac06e6827f4b295