Files
scylla/gms/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

27 lines
549 B
CMake

add_library(gms STATIC)
target_sources(gms
PRIVATE
application_state.cc
endpoint_state.cc
feature_service.cc
generation-number.cc
gossip_digest_ack2.cc
gossip_digest_ack.cc
gossip_digest_syn.cc
gossiper.cc
inet_address.cc
versioned_value.cc
version_generator.cc)
target_include_directories(gms
PUBLIC
${CMAKE_SOURCE_DIR})
target_link_libraries(gms
PUBLIC
Seastar::seastar
xxHash::xxhash
PRIVATE
db)
check_headers(check-headers gms
GLOB_RECURSE ${CMAKE_CURRENT_SOURCE_DIR}/*.hh)