Update googletest to 1.18.0 and SIMDe to 0.8.2.

Googletest 1.18 asks for CMake 3.13 or newer, so configuring the tests no longer warns that CMake compatibility below 3.10 is deprecated.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Ryan Henry 2026-09-24 14:30:19 -06:00
parent e4e666f459
commit 3f10e05176
912 changed files with 224964 additions and 11502 deletions

View file

@ -5,7 +5,7 @@ FROM debian:${RELEASE}-slim
ARG DEBIAN_FRONTEND=noninteractive
ARG QEMU_GIT=n
ARG ARCHS="arm64 armel armhf i386 mips64el ppc64el s390x"
ARG ARCHS="arm64 armel armhf i386 mips64el ppc64el s390x riscv64"
RUN \
apt-get update -y && \
@ -26,7 +26,7 @@ RUN \
apt-get update -y && \
apt-get upgrade -y && \
apt-get install -yq --no-install-recommends \
git build-essential \
git build-essential vim \
ccache cmake ninja-build \
'^clang-[0-9\.]+$' \
'^llvm-[0-9\.]+$' \
@ -35,11 +35,11 @@ RUN \
binfmt-support qemu-user-static \
creduce screen htop parallel nano rsync strace \
npm libsleef-dev \
python3-pip wget
pipx wget curl
# Meson on stable is too old, and we want to make sure we keep 0.55
# working for a while.
RUN pip3 install meson==0.55.0
RUN pipx install meson==0.55.0
# GCC cross-compilers
RUN \
@ -56,13 +56,13 @@ RUN \
echo ${PACKAGES_TO_INSTALL} ; \
apt-get install -yq ${PACKAGES_TO_INSTALL}
ENV PATH="/usr/lib/ccache:$PATH"
ENV PATH="/usr/lib/ccache:$PATH:/root/.local/bin:/root/.jsvu/bin"
# ICC
RUN \
apt-get update -y && \
apt-get upgrade -y && \
apt-get install -yq curl gpg && \
apt-get install -yq gpg && \
wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \
| gpg --dearmor > /usr/share/keyrings/oneapi-archive-keyring.gpg && \
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" > /etc/apt/sources.list.d/oneAPI.list && \
@ -95,11 +95,9 @@ RUN \
# Emscripten
RUN \
git clone https://github.com/emscripten-core/emsdk.git /opt/emsdk && \
cd /opt/emsdk && ./emsdk install tot ccache-git-emscripten-64bit && ./emsdk activate tot ccache-git-emscripten-64bit && \
cd /opt/emsdk && ./emsdk install tot && ./emsdk activate tot && \
ln -s /opt/emsdk/upstream/bin/wasm-ld /usr/bin/wasm-ld && \
npm install jsvu -g && jsvu --os=linux64 --engines=v8 && ln -s "/root/.jsvu/bin/v8" "/usr/bin/v8" && \
echo 'source "/opt/emsdk/emsdk_env.sh"' >> $HOME/.bash_profile && \
echo 'export PATH=/opt/emsdk/ccache/git-emscripten_64bit/bin:$PATH' >> $HOME/.bash_profile
npm install jsvu -g && jsvu --os=linux64 --engines=v8 && ln -s "/root/.jsvu/v8" "/usr/bin/v8"
# Meson cross files
RUN \
@ -108,7 +106,9 @@ RUN \
# Install QEMU git (necessary for MIPS)
RUN \
if [ ${QEMU_GIT} = "y" ]; then \
apt-get install -y pkg-config libglib2.0-dev libpixman-1-dev && \
apt-get install -y pkg-config libglib2.0-dev libpixman-1-dev libaio-dev \
libbpf-dev libdw-dev libcapstone-dev flex bison \
liburing-dev libseccomp-dev libcap-ng-dev libzstd-dev libudev-dev libgnutls28-dev linux-headers-amd64 && \
git clone https://gitlab.com/qemu-project/qemu.git /usr/local/src/qemu && \
mkdir -p /usr/local/src/qemu/build && cd /usr/local/src/qemu/build && \
../configure --prefix=/opt/qemu && \