From 35ebae8d7fa09de5157a522f6d6c96fa341f91cb Mon Sep 17 00:00:00 2001 From: BruebachL <44814898+BruebachL@users.noreply.github.com> Date: Fri, 4 Sep 2026 05:20:52 +0200 Subject: [PATCH 1/3] [Build] Bump cmake_minimum_required from 3.10 to 3.16 (#7232) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 3.16 is already required by Qt6 (and enforced at find_package time). This unlocks native target_precompile_headers(), better AUTOMOC/AUTORCC handling, and qt6_finalize_project() without a version guard. Co-authored-by: Lukas Brübach --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bac46c2bc..3db871e2c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,8 +5,8 @@ # This file sets all the variables shared between the projects # like the installation path, compilation flags etc.. -# cmake 3.16 is required if using qt6 -cmake_minimum_required(VERSION 3.10) +# 3.16 required for Qt6 and target_precompile_headers() +cmake_minimum_required(VERSION 3.16) # Use compiler cache (ccache) option(USE_CCACHE "Cache the build results with ccache" OFF) From fcfb14cf569c1025e942e12133f977ca655af8bb Mon Sep 17 00:00:00 2001 From: BruebachL <44814898+BruebachL@users.noreply.github.com> Date: Fri, 4 Sep 2026 05:20:53 +0200 Subject: [PATCH 2/3] [Build] Use pipes for GCC/Clang compilation (#7233) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pass -pipe so GCC/Clang transfer intermediate representation between compiler stages over pipes instead of temporary files, reducing build I/O. Co-authored-by: Lukas Brübach --- CMakeLists.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3db871e2c..5ef0f5573 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -184,6 +184,9 @@ elseif(CMAKE_COMPILER_IS_GNUCXX) set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} ${FLAG}") endif() endforeach() + + # Reduce compiler I/O by using pipes between stages instead of temp files + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pipe") else() # other: osx/llvm, bsd/llvm set(CMAKE_CXX_FLAGS_RELEASE "-O2") @@ -192,6 +195,9 @@ else() else() set(CMAKE_CXX_FLAGS_DEBUG "-g -O0 -Wall -Wextra") endif() + + # Reduce compiler I/O by using pipes between stages instead of temp files + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pipe") endif() # GNU systems need to define the Mersenne exponent for the RNG to compile w/o warning From 3ec62df3e7c1dc5eefe5a004926689d85a4fa918 Mon Sep 17 00:00:00 2001 From: BruebachL <44814898+BruebachL@users.noreply.github.com> Date: Fri, 4 Sep 2026 05:20:53 +0200 Subject: [PATCH 3/3] [Protocol] Remove duplicate event_game_state_changed.proto entry (#7234) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The .proto file appeared twice in the PROTO_FILES list, causing protoc to process it twice on every build. Keep a single entry. Co-authored-by: Lukas Brübach --- libcockatrice_protocol/libcockatrice/protocol/pb/CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/libcockatrice_protocol/libcockatrice/protocol/pb/CMakeLists.txt b/libcockatrice_protocol/libcockatrice/protocol/pb/CMakeLists.txt index 3a193ae3c..f22828f46 100644 --- a/libcockatrice_protocol/libcockatrice/protocol/pb/CMakeLists.txt +++ b/libcockatrice_protocol/libcockatrice/protocol/pb/CMakeLists.txt @@ -90,7 +90,6 @@ set(PROTO_FILES event_game_log_notice.proto event_game_say.proto event_game_state_changed.proto - event_game_state_changed.proto event_join.proto event_join_room.proto event_kicked.proto