[Build] Add precompiled headers for Qt-backed executables (#7235)

* [Build] Add precompiled headers for Qt-backed executables

Reparsing QtCore/QtGui/QtWidgets/QtNetwork in ~460 client translation
units is the dominant compilation cost. Precompile the two common layers:
- qtcore_pch.h (Qt Core only; safe even for headless Servatrice)
- qtwidgets_pch.h (adds Gui/Widgets/Network; used by Cockatrice and Oracle)

target_precompile_headers() requires CMake 3.16, now the project minimum.
Estimated 30-50% faster client rebuilds.

* [Build] Format qtwidgets precompiled header

clang-format include regrouping and a missing trailing newline.

* [Build] Add PCH-aware ccache sloppiness config; format cmake/pch headers

---------

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
This commit is contained in:
BruebachL 2026-09-05 19:40:36 +02:00 committed by GitHub
parent 61e6a9913e
commit 14ecfff700
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 68 additions and 0 deletions

View file

@ -18,6 +18,7 @@ include=("cockatrice/src" \
libcockatrice_* \
"oracle/src" \
"servatrice/src" \
"cmake/pch" \
"tests")
exclude=("libcockatrice_rng/libcockatrice/rng/sfmt/" \
"libcockatrice_utility/libcockatrice/utility/peglib.h" \