Cockatrice/cmake
BruebachL 315cbae345
[Build] Extend PCH to libraries and grow IWYU-driven header sets (#7456)
The executables precompile Qt since #7235, but the libcockatrice_*
static libraries still reparse the full Qt Core stack in every TU.
Measured over the tree after the IWYU pass: 380 MB of header parse in
the libraries, 92% of it reachable from qtcore_pch.h.

- Apply qtcore_pch.h to the 14 Qt Core static library targets
  (skips libcockatrice_rng: its SFMT.c is C and cannot use a C++
  precompiled header).
- Grow qtcore_pch.h with 25 QtCore headers that IWYU shows are
  re-parsed across many TUs and were not already reachable from the
  existing list (JSON/QUuid cluster, QSettings, item models,
  threading, XmlStream, QTemporaryDir, ...).
- Grow qtwidgets_pch.h with 30 QtGui/QtWidgets headers (dialog
  cluster, item views, QImageReader, ...).

Only stable Qt headers go into the PCH, so it rarely invalidates.
Test executables stay PCH-less: 1-3 TUs per target does not amortize
the extra precompile.

Co-authored-by: Lukas Brübach <Bruebach.Lukas@bdosecurity.de>
2026-10-11 15:07:30 +02:00
..
pch [Build] Extend PCH to libraries and grow IWYU-driven header sets (#7456) 2026-10-11 15:07:30 +02:00
CMakeDMGSetup.script [Deprecation] Remove DBConverter from sources. (#6431) 2025-12-20 15:25:13 +01:00
Coverage.cmake [CI] Publish a gcovr line-coverage report from the test run (#7404) 2026-10-11 15:05:28 +02:00
createversionfile.cmake Add cmake format (#4618) 2022-05-08 21:22:43 +02:00
dmgBackground.tif CPack DMG Installer with Background Image (#4787) 2023-04-29 23:13:01 -04:00
FindLibexecinfo.cmake Add cmake format (#4618) 2022-05-08 21:22:43 +02:00
FindQtRuntime.cmake [Tests] Register each test case with CTest instead of each test binary (#7399) 2026-10-11 14:50:09 +02:00
FindVCredistRuntime.cmake CI: Use windows-2022 image with Visual Studio 17 2022 (#4999) 2024-05-13 17:41:50 -04:00
getversion.cmake Use dash instead of underscore 2026-05-08 10:13:40 -04:00
gtest-CMakeLists.txt.in Bump minimum required cmake to 3.10 in gtest (#6851) 2026-05-09 00:05:10 +02:00
headerimage.bmp svg+png updates 2015-04-28 16:06:36 +02:00
Info.plist Define Cockatrice as an editor/handler for .cod files and cockatrice:// protocol on all platforms (#6775) 2026-08-08 19:02:19 +02:00
launch-c.in Travis: enable ccache usage under macOS; halves compilation time (#3052) 2018-01-27 13:43:48 -05:00
launch-cxx.in Travis: enable ccache usage under macOS; halves compilation time (#3052) 2018-01-27 13:43:48 -05:00
leftimage.bmp svg+png updates 2015-04-28 16:06:36 +02:00
NSIS.definitions.nsh.in NSIS: misc fixes [wip] (#3300) 2018-06-25 18:34:58 +02:00
NSIS.template.in [Windows] Wait for uninstaller, rework .dll bundling, add logging (#7407) 2026-10-09 20:09:34 +02:00
Sanitizers.cmake [Tests] Register each test case with CTest instead of each test binary (#7399) 2026-10-11 14:50:09 +02:00
SignMacApplications.cmake [Deprecation] Remove DBConverter from sources. (#6431) 2025-12-20 15:25:13 +01:00