Files
scylladb/docs/dev
Botond Dénes cc210813c8 Merge 'cmake: add IDL comparison to build system tool and fix PCH propagation' from Ernest Zaslavsky
This series adds IDL file comparison to the build system comparison tool and fixes CMake PCH propagation.

1. `scripts/compare_build_systems.py` only compared compilation flags, link targets, and linker settings — it did not compare IDL-generated file sets. This allowed PR #28843 to pass CI despite adding `strong_consistency/groups_manager.idl.hh` to `configure.py` but not to `idl/CMakeLists.txt`.

2. CMake's `scylla-main` target was not using the precompiled header (`stdafx.hh`), even though configure.py applies it to every source file via `-include-pch`. This caused compilation failures for files relying on transitive includes from the PCH — e.g., `sstables_loader.cc` failed with `no member named 'read_entire_stream' in namespace 'seastar::util'`.

Add a 4th comparison check to the build system comparison script: extract IDL-generated file sets from both build systems' ninja files and compare them. The extractors parse ninja build statements — configure.py side filters by build mode, CMake side handles the `|` separator for implicit outputs — and normalize to a canonical relative path for comparison.

Add the missing `strong_consistency/groups_manager.idl.hh` to `idl/CMakeLists.txt`.

Add `target_precompile_headers(scylla-main REUSE_FROM scylla-precompiled-header)` so that all sources compiled under `scylla-main` benefit from the PCH, matching configure.py's behavior.

Update documentation to reflect the new IDL comparison check.

Refs: https://github.com/scylladb/scylladb/pull/29901
Refs: https://github.com/scylladb/scylladb/pull/28843

No backport needed — these are build system improvements only.

Closes scylladb/scylladb#29912

* github.com:scylladb/scylladb:
  cmake: reuse precompiled header in scylla-main target
  idl: add missing groups_manager.idl.hh to CMakeLists.txt
  scripts: add IDL-generated file comparison to compare_build_systems
2026-05-18 11:38:14 +03:00
..
2023-03-31 17:19:08 +03:00
2023-12-07 11:10:17 +02:00
2025-02-11 00:17:43 +02:00
2025-02-11 00:17:43 +02:00
2026-04-09 13:08:02 +02:00
2025-02-11 00:17:43 +02:00
2025-01-09 10:40:47 +00:00
2024-02-13 17:16:15 +02:00
2025-02-13 01:54:08 +02:00
2025-02-11 00:17:43 +02:00
2023-01-27 19:15:39 +01:00
2023-01-27 19:15:39 +01:00
2025-02-11 00:17:43 +02:00
2025-09-12 15:58:19 +03:00

Scylla developer documentation

This folder contains developer-oriented documentation concerning the ScyllaDB codebase. We also have a wiki, which contains additional developer-oriented documentation. There is currently no clear definition of what goes where, so when looking for something be sure to check both.

Seastar documentation can be found here.

User documentation can be found on docs.scylladb.com

For information on how to build Scylla and how to contribute visit HACKING.md and CONTRIBUTING.md.

Index

Module list and dependencies

Repository layout and short summary of components