mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-22 09:30:45 +00:00
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
53 lines
1.3 KiB
CMake
53 lines
1.3 KiB
CMake
add_library(tools STATIC)
|
|
target_sources(tools
|
|
PRIVATE
|
|
scylla-types.cc
|
|
scylla-sstable.cc
|
|
scylla-nodetool.cc
|
|
schema_loader.cc
|
|
utils.cc
|
|
lua_sstable_consumer.cc)
|
|
target_include_directories(tools
|
|
PUBLIC
|
|
${CMAKE_SOURCE_DIR}
|
|
${RAPIDJSON_INCLUDE_DIRS}
|
|
PRIVATE
|
|
${LUA_INCLUDE_DIR})
|
|
target_link_libraries(tools
|
|
PUBLIC
|
|
Seastar::seastar
|
|
xxHash::xxhash
|
|
PRIVATE
|
|
db)
|
|
|
|
include(build_submodule)
|
|
build_submodule(cqlsh cqlsh
|
|
NOARCH)
|
|
build_submodule(tools java
|
|
NOARCH)
|
|
build_submodule(jmx jmx
|
|
NOARCH)
|
|
|
|
execute_process(
|
|
COMMAND "${CMAKE_SOURCE_DIR}/install-dependencies.sh" --print-python3-runtime-packages
|
|
OUTPUT_VARIABLE python3_dependencies
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
execute_process(
|
|
COMMAND "${CMAKE_SOURCE_DIR}/install-dependencies.sh" --print-pip-runtime-packages
|
|
OUTPUT_VARIABLE pip_dependencies
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
execute_process(
|
|
COMMAND "${CMAKE_SOURCE_DIR}/install-dependencies.sh" --print-pip-symlinks
|
|
OUTPUT_VARIABLE pip_symlinks
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
|
build_submodule(python3 python3
|
|
--packages
|
|
"${python3_dependencies}"
|
|
--pip-packages
|
|
"${pip_dependencies}"
|
|
--pip-symlinks
|
|
"${pip_symlinks}")
|
|
|
|
check_headers(check-headers tools
|
|
GLOB_RECURSE ${CMAKE_CURRENT_SOURCE_DIR}/*.hh)
|