Files
scylla/db/CMakeLists.txt
Kefu Chai efd65aebb2 build: cmake: add check-header target
to have feature parity with `configure.py`. we won't need this
once we migrate to C++20 modules. but before that day comes, we
need to stick with C++ headers.

we generate a rule for each .hh files to create a corresponding
.cc and then compile it, in order to verify the self-containness of
that header. so the number of rule is quite large, to avoid the
unnecessary overhead. the check-header target is enabled only if
`Scylla_CHECK_HEADERS` option is enabled.

Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>

Closes scylladb/scylladb#15913
2023-11-13 10:27:06 +02:00

53 lines
1.2 KiB
CMake

add_library(db STATIC)
target_sources(db
PRIVATE
consistency_level.cc
system_keyspace.cc
virtual_table.cc
virtual_tables.cc
system_distributed_keyspace.cc
size_estimates_virtual_reader.cc
schema_tables.cc
cql_type_parser.cc
legacy_schema_migrator.cc
commitlog/commitlog.cc
commitlog/commitlog_replayer.cc
commitlog/commitlog_entry.cc
data_listeners.cc
functions/function.cc
hints/internal/hint_endpoint_manager.cc
hints/internal/hint_sender.cc
hints/internal/hint_storage.cc
hints/manager.cc
hints/resource_manager.cc
hints/host_filter.cc
hints/sync_point.cc
config.cc
extensions.cc
heat_load_balance.cc
large_data_handler.cc
marshal/type_parser.cc
batchlog_manager.cc
tags/utils.cc
view/view.cc
view/view_update_generator.cc
view/row_locking.cc
sstables-format-selector.cc
snapshot-ctl.cc
rate_limiter.cc
per_partition_rate_limit_options.cc)
target_include_directories(db
PUBLIC
${CMAKE_SOURCE_DIR})
target_link_libraries(db
PUBLIC
mutation
Seastar::seastar
xxHash::xxhash
PRIVATE
data_dictionary
cql3)
check_headers(check-headers db
GLOB_RECURSE ${CMAKE_CURRENT_SOURCE_DIR}/*.hh)