From c7c4c8bf0f9aa3ab7b977f450e748f5c44677683 Mon Sep 17 00:00:00 2001 From: tooomm Date: Mon, 20 Jul 2026 21:49:55 +0200 Subject: [PATCH] enable ldd linker on linux --- .ci/Arch/Dockerfile | 1 + .ci/Debian12/Dockerfile | 1 + .ci/Debian13/Dockerfile | 1 + .ci/Fedora43/Dockerfile | 1 + .ci/Fedora44/Dockerfile | 1 + .ci/Servatrice_Debian12/Dockerfile | 1 + .ci/Ubuntu24.04/Dockerfile | 1 + .ci/Ubuntu26.04/Dockerfile | 1 + .ci/compile.sh | 8 ++++++++ .github/workflows/desktop-build.yml | 3 ++- 10 files changed, 18 insertions(+), 1 deletion(-) diff --git a/.ci/Arch/Dockerfile b/.ci/Arch/Dockerfile index 36cf5c4ae..ab9f9a387 100644 --- a/.ci/Arch/Dockerfile +++ b/.ci/Arch/Dockerfile @@ -6,6 +6,7 @@ RUN pacman --sync --refresh --sysupgrade --needed --noconfirm \ cmake \ git \ gtest \ + lld \ mariadb-libs \ ninja \ protobuf \ diff --git a/.ci/Debian12/Dockerfile b/.ci/Debian12/Dockerfile index 202405b84..73b36d537 100644 --- a/.ci/Debian12/Dockerfile +++ b/.ci/Debian12/Dockerfile @@ -15,6 +15,7 @@ RUN apt-get update && \ libprotobuf-dev \ libqt6multimedia6 \ libqt6sql6-mysql \ + lld \ ninja-build \ protobuf-compiler \ qt6-image-formats-plugins \ diff --git a/.ci/Debian13/Dockerfile b/.ci/Debian13/Dockerfile index d7ab6ac86..072bc5a22 100644 --- a/.ci/Debian13/Dockerfile +++ b/.ci/Debian13/Dockerfile @@ -16,6 +16,7 @@ RUN apt-get update && \ libprotobuf-dev \ libqt6multimedia6 \ libqt6sql6-mysql \ + lld \ ninja-build \ protobuf-compiler \ qt6-image-formats-plugins \ diff --git a/.ci/Fedora43/Dockerfile b/.ci/Fedora43/Dockerfile index 27570cf99..3b823c50a 100644 --- a/.ci/Fedora43/Dockerfile +++ b/.ci/Fedora43/Dockerfile @@ -5,6 +5,7 @@ RUN dnf install -y \ cmake \ gcc-c++ \ git \ + lld \ mariadb-devel \ ninja-build \ protobuf-devel \ diff --git a/.ci/Fedora44/Dockerfile b/.ci/Fedora44/Dockerfile index e6c8da7f3..4e1d3dadb 100644 --- a/.ci/Fedora44/Dockerfile +++ b/.ci/Fedora44/Dockerfile @@ -5,6 +5,7 @@ RUN dnf install -y \ cmake \ gcc-c++ \ git \ + lld \ mariadb-devel \ ninja-build \ protobuf-devel \ diff --git a/.ci/Servatrice_Debian12/Dockerfile b/.ci/Servatrice_Debian12/Dockerfile index 21f6a036e..e38f5b646 100644 --- a/.ci/Servatrice_Debian12/Dockerfile +++ b/.ci/Servatrice_Debian12/Dockerfile @@ -12,6 +12,7 @@ RUN apt-get update && \ libmariadb-dev-compat \ libprotobuf-dev \ libqt6sql6-mysql \ + lld \ ninja-build \ protobuf-compiler \ qt6-tools-dev \ diff --git a/.ci/Ubuntu24.04/Dockerfile b/.ci/Ubuntu24.04/Dockerfile index 809b2e43a..37c4bc66c 100644 --- a/.ci/Ubuntu24.04/Dockerfile +++ b/.ci/Ubuntu24.04/Dockerfile @@ -15,6 +15,7 @@ RUN apt-get update && \ libprotobuf-dev \ libqt6multimedia6 \ libqt6sql6-mysql \ + lld \ ninja-build \ protobuf-compiler \ qt6-image-formats-plugins \ diff --git a/.ci/Ubuntu26.04/Dockerfile b/.ci/Ubuntu26.04/Dockerfile index 7b0cd389f..f4028c364 100644 --- a/.ci/Ubuntu26.04/Dockerfile +++ b/.ci/Ubuntu26.04/Dockerfile @@ -16,6 +16,7 @@ RUN apt-get update && \ libprotobuf-dev \ libqt6multimedia6 \ libqt6sql6-mysql \ + lld \ ninja-build \ protobuf-compiler \ qt6-image-formats-plugins \ diff --git a/.ci/compile.sh b/.ci/compile.sh index ee846897b..4e69ab67c 100755 --- a/.ci/compile.sh +++ b/.ci/compile.sh @@ -82,6 +82,10 @@ while [[ $# != 0 ]]; do CCACHE_EVICTION_AGE=$1 shift ;; + '--lld') + USE_LLD=1 + shift + ;; '--vcpkg') USE_VCPKG=1 shift @@ -160,6 +164,10 @@ fi if [[ $USE_VCPKG ]]; then flags+=("-DUSE_VCPKG=1") fi +if [[ $USE_LLD ]]; then + flags+=("-DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=lld") + flags+=("-DCMAKE_SHARED_LINKER_FLAGS=-fuse-ld=lld") +fi # Add cmake --build flags buildflags=(--config "$BUILDTYPE") diff --git a/.github/workflows/desktop-build.yml b/.github/workflows/desktop-build.yml index f1846ecf6..ef3118319 100644 --- a/.github/workflows/desktop-build.yml +++ b/.github/workflows/desktop-build.yml @@ -180,7 +180,7 @@ jobs: run: | source .ci/docker.sh RUN --server --debug --test --ccache "$CCACHE_SIZE" \ - --cmake-generator "$CMAKE_GENERATOR" + --cmake-generator "$CMAKE_GENERATOR" --lld - name: "Build release package" id: build @@ -198,6 +198,7 @@ jobs: args+=(--ccache "$CCACHE_SIZE") args+=(--cmake-generator "$CMAKE_GENERATOR") args+=(--suffix "$SUFFIX") + args+=(--lld) RUN --server --release --package "$package" "${args[@]}"