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
41 lines
874 B
CMake
41 lines
874 B
CMake
include(add_whole_archive)
|
|
|
|
add_library(scylla_auth STATIC)
|
|
target_sources(scylla_auth
|
|
PRIVATE
|
|
allow_all_authenticator.cc
|
|
allow_all_authorizer.cc
|
|
authenticated_user.cc
|
|
authenticator.cc
|
|
certificate_authenticator.cc
|
|
common.cc
|
|
default_authorizer.cc
|
|
password_authenticator.cc
|
|
passwords.cc
|
|
permission.cc
|
|
permissions_cache.cc
|
|
resource.cc
|
|
role_or_anonymous.cc
|
|
roles-metadata.cc
|
|
sasl_challenge.cc
|
|
service.cc
|
|
standard_role_manager.cc
|
|
transitional.cc)
|
|
target_include_directories(scylla_auth
|
|
PUBLIC
|
|
${CMAKE_SOURCE_DIR})
|
|
target_link_libraries(scylla_auth
|
|
PUBLIC
|
|
Seastar::seastar
|
|
xxHash::xxhash
|
|
PRIVATE
|
|
cql3
|
|
idl
|
|
wasmtime_bindings
|
|
libxcrypt::libxcrypt)
|
|
|
|
add_whole_archive(auth scylla_auth)
|
|
|
|
check_headers(check-headers scylla_auth
|
|
GLOB_RECURSE ${CMAKE_CURRENT_SOURCE_DIR}/*.hh)
|