From c966a10635852084bf53e10c8de8946997de1f4d Mon Sep 17 00:00:00 2001 From: Zion Nimchuk Date: Sat, 26 Apr 2025 14:26:59 -0700 Subject: [PATCH] Add gtest, update Qt to 6.9.0, cleanup unused qt modules, update SDL3, use minsizerel for opencv --- jammy-aarch64/Dockerfile | 20 +++++++++++++++----- jammy/Dockerfile | 16 ++++++++-------- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/jammy-aarch64/Dockerfile b/jammy-aarch64/Dockerfile index 0c9849b..0235841 100644 --- a/jammy-aarch64/Dockerfile +++ b/jammy-aarch64/Dockerfile @@ -56,6 +56,8 @@ RUN \ libglu1-mesa-dev \ libglu-dev \ libv4l-dev \ + libdrm-dev \ + libdbus-1-dev \ yasm \ libgmp-dev \ libmp3lame-dev \ @@ -76,7 +78,7 @@ RUN \ libx11-* \ libxcb-* \ libxkb* \ - libpng-dev libjpeg-turbo8-dev libtiff-dev libwebp-dev && \ + libpng-dev libjpeg-turbo8-dev libtiff-dev libwebp-dev libgtest-dev && \ apt-get clean autoclean && \ apt-get autoremove --yes && \ rm -rf /var/lib/apt @@ -152,7 +154,7 @@ RUN \ rm ./*.tar.gz && \ rm -r ./Vulkan-Loader* -ENV FFMPEG_NV_CODEC_VER=12.1.14.0 +ENV FFMPEG_NV_CODEC_VER=13.0.19.0 RUN \ curl -sSfLO https://github.com/FFmpeg/nv-codec-headers/releases/download/n${FFMPEG_NV_CODEC_VER}/nv-codec-headers-${FFMPEG_NV_CODEC_VER}.tar.gz && \ tar -xf ./nv-codec-headers-*.tar.gz && \ @@ -182,7 +184,7 @@ RUN \ rm ./*.tar.xz && \ rm -r ./ffmpeg-* -ENV QTVER=6.8.3 +ENV QTVER=6.9.0 RUN \ curl -sSfL -o qt.tar.xz https://download.qt.io/official_releases/qt/${QTVER%.*}/$QTVER/single/qt-everywhere-src-${QTVER}.tar.xz && \ tar -xf qt.tar.xz && \ @@ -199,6 +201,14 @@ RUN \ -DFEATURE_system_xcb_xinput=ON \ -DFEATURE_openssl_linked=ON \ -DFEATURE_gds=OFF \ + -DBUILD_qtwebview=OFF \ + -DBUILD_qtwebchannel=OFF \ + -DBUILD_qtwebengine=OFF \ + -DBUILD_qtquick3d=OFF \ + -DBUILD_qtgraphs=OFF \ + -DBUILD_qtquick3dphysics=OFF \ + -DBUILD_qtvirtualkeyboard=OFF \ + -DBUILD_qt3d=OFF \ -DCMAKE_INSTALL_PREFIX=/usr && \ echo "Need to cleanup for latest GCC/Clang" && \ sed -i 's/<< line.v0//' ../qtquick3d/src/3rdparty/embree/kernels/geometry/pointi.h && \ @@ -221,7 +231,7 @@ RUN \ shellcheck --version # We need to build a custom version of SDL3 as well -ENV SDLVER=3.2.8 +ENV SDLVER=3.2.10 RUN \ curl -sSfL -o SDL.tar.gz https://github.com/libsdl-org/SDL/releases/download/release-${SDLVER}/SDL3-${SDLVER}.tar.gz && \ tar -xf SDL.tar.gz && \ @@ -241,7 +251,7 @@ RUN \ tar -xf opencv.tar.gz && \ cd opencv* && \ mkdir build && cd build && \ - cmake ../ -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=$CLANG_BINARY -DCMAKE_CXX_COMPILER=$CLANGXX_BINARY -DCMAKE_CXX_STANDARD=17 \ + cmake ../ -G Ninja -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_C_COMPILER=$CLANG_BINARY -DCMAKE_CXX_COMPILER=$CLANGXX_BINARY -DCMAKE_CXX_STANDARD=17 \ -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_TESTS=OFF -DWITH_XINE=OFF -DOPENCV_SKIP_PYTHON_LOADER=ON -DOPENCV_ENABLE_NONFREE=ON -DWITH_VULKAN=ON -DWITH_QT=ON \ -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_EXAMPLES=OFF && \ ninja && \ diff --git a/jammy/Dockerfile b/jammy/Dockerfile index b1354dd..b1ca4ee 100644 --- a/jammy/Dockerfile +++ b/jammy/Dockerfile @@ -25,12 +25,12 @@ RUN \ $GCC_BINARY $GXX_BINARY \ build-essential binutils git ccache bc $CLANG_BINARY $CLANGXX_BINARY $LLD_BINARY \ libasound2-dev libopenal-dev freeglut3-dev libudev-dev libevdev-dev libpulse-dev libxrandr-dev libglvnd-dev \ - '^libxcb.*-dev' libxcb-cursor0 libx11-xcb-dev libxcb-util-dev \ + '^libxcb.*-dev' libxcb-cursor0 libx11-xcb-dev libxcb-util-dev libdrm-dev libdbus-1-dev \ libssl-dev libfontconfig1-dev libv4l-dev yasm libgmp-dev libmp3lame-dev libopenjp2-7-dev libjack-dev \ libtheora-dev libwebp-dev libopus-dev libvorbis-dev libvpx-dev libx264-dev libxml2-dev ocl-icd-opencl-dev \ libwayland-dev libwayland-cursor0 libxkbcommon-x11-dev libwayland-client0 libwayland-server0 \ libpng-dev libjpeg-turbo8-dev libtiff-dev libwebp-dev \ - desktop-file-utils dput gnupg pbuilder ubuntu-dev-tools apt-file patchelf && \ + desktop-file-utils dput gnupg pbuilder ubuntu-dev-tools apt-file patchelf libgtest-dev && \ apt-get install --only-upgrade dpkg && \ apt-get clean autoclean && \ apt-get autoremove --yes && \ @@ -107,7 +107,7 @@ RUN \ rm ./*.tar.gz && \ rm -r ./Vulkan-Loader* -ENV FFMPEG_NV_CODEC_VER=12.1.14.0 +ENV FFMPEG_NV_CODEC_VER=13.0.19.0 RUN \ curl -sSfLO https://github.com/FFmpeg/nv-codec-headers/releases/download/n${FFMPEG_NV_CODEC_VER}/nv-codec-headers-${FFMPEG_NV_CODEC_VER}.tar.gz && \ tar -xf ./nv-codec-headers-*.tar.gz && \ @@ -137,13 +137,13 @@ RUN \ rm ./*.tar.xz && \ rm -r ./ffmpeg-* -ENV QTVER=6.8.3 +ENV QTVER=6.9.0 RUN \ curl -sSfL -o qt.tar.xz https://mirrors.ocf.berkeley.edu/qt/official_releases/qt/${QTVER%.*}/$QTVER/single/qt-everywhere-src-${QTVER}.tar.xz && \ tar -xf qt.tar.xz && \ cd qt-everywhere-src-* && \ mkdir build && cd build && \ - cmake ../ -G Ninja -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_C_COMPILER=$CLANG_BINARY -DCMAKE_CXX_COMPILER=$CLANGXX_BINARY -DFEATURE_ffmpeg=ON -DFEATURE_gstreamer=OFF -DFEATURE_fontconfig=ON -DFEATURE_system_freetype=ON -DFEATURE_system_xcb_xinput=ON -DFEATURE_openssl_linked=ON -DFEATURE_gds=OFF \ + cmake ../ -G Ninja -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_C_COMPILER=$CLANG_BINARY -DCMAKE_CXX_COMPILER=$CLANGXX_BINARY -DFEATURE_ffmpeg=ON -DFEATURE_gstreamer=OFF -DFEATURE_fontconfig=ON -DFEATURE_system_freetype=ON -DFEATURE_system_xcb_xinput=ON -DFEATURE_openssl_linked=ON -DFEATURE_gds=OFF -DBUILD_qtwebview=OFF -DBUILD_qtwebchannel=OFF -DBUILD_qtwebengine=OFF -DBUILD_qtquick3d=OFF -DBUILD_qtgraphs=OFF -DBUILD_qtquick3dphysics=OFF -DBUILD_qtvirtualkeyboard=OFF -DBUILD_qt3d=OFF \ -DCMAKE_INSTALL_PREFIX=/usr && \ echo "Need to cleanup for latest GCC/Clang" && \ sed -i 's/<< line.v0//' ../qtquick3d/src/3rdparty/embree/kernels/geometry/pointi.h && \ @@ -166,7 +166,7 @@ RUN \ shellcheck --version # We need to build a custom version of SDL3 as well -ENV SDLVER=3.2.8 +ENV SDLVER=3.2.10 RUN \ curl -sSfL -o SDL.tar.gz https://github.com/libsdl-org/SDL/releases/download/release-${SDLVER}/SDL3-${SDLVER}.tar.gz && \ tar -xf SDL.tar.gz && \ @@ -186,8 +186,8 @@ RUN \ tar -xf opencv.tar.gz && \ cd opencv* && \ mkdir build && cd build && \ - cmake ../ -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_COMPILER=$CLANG_BINARY -DCMAKE_CXX_COMPILER=$CLANGXX_BINARY -DCMAKE_CXX_STANDARD=17 \ - -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_TESTS=OFF -DWITH_XINE=OFF -DOPENCV_SKIP_PYTHON_LOADER=ON -DOPENCV_ENABLE_NONFREE=ON -DWITH_VULKAN=ON -DWITH_QT=ON \ + cmake ../ -G Ninja -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_C_COMPILER=$CLANG_BINARY -DCMAKE_CXX_COMPILER=$CLANGXX_BINARY -DCMAKE_CXX_STANDARD=17 \ + -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_TESTS=OFF -DWITH_XINE=OFF -DOPENCV_SKIP_PYTHON_LOADER=ON -DOPENCV_ENABLE_NONFREE=ON -DWITH_VULKAN=ON -DWITH_QT=OFF \ -DBUILD_TESTS=OFF -DBUILD_PERF_TESTS=OFF -DBUILD_EXAMPLES=OFF \ -DCPU_BASELINE_REQUIRE=SSE2 && \ ninja && \