| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| ####################################### |
| # tool_proto |
| ####################################### |
| |
| PROTOBUF_GENERATE_CPP( |
| TOOL_PROTO_SRCS TOOL_PROTO_HDRS TOOL_PROTO_TGTS |
| SOURCE_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../.. |
| BINARY_ROOT ${CMAKE_CURRENT_BINARY_DIR}/../.. |
| PROTO_FILES tool.proto) |
| |
| add_library(tool_proto |
| ${TOOL_PROTO_SRCS} |
| ${TOOL_PROTO_HDRS}) |
| target_link_libraries(tool_proto |
| kudu_common_proto |
| protobuf |
| tablet_proto |
| wire_protocol_proto) |
| |
| ####################################### |
| # kudu_tools_util |
| ####################################### |
| |
| add_library(kudu_tools_util |
| color.cc |
| diagnostics_log_parser.cc |
| table_scanner.cc |
| tool_action.cc |
| tool_action_common.cc |
| ) |
| target_link_libraries(kudu_tools_util |
| cfile |
| consensus |
| gutil |
| kudu_client |
| kudu_common |
| kudu_fs |
| kudu_util |
| log |
| server_process |
| tablet |
| tool_proto |
| ${KUDU_BASE_LIBS} |
| ) |
| |
| ####################################### |
| # ksck |
| ####################################### |
| |
| add_library(ksck |
| ksck.cc |
| ksck_checksum.cc |
| ksck_remote.cc |
| ksck_results.cc |
| ) |
| target_link_libraries(ksck |
| consensus |
| kudu_tools_util |
| master |
| master_proto |
| rebalance |
| server_base_proto |
| tserver_proto |
| tserver_service_proto |
| ${KUDU_BASE_LIBS} |
| ) |
| |
| ####################################### |
| # kudu_tools_rebalance |
| ####################################### |
| |
| add_library(kudu_tools_rebalance |
| rebalancer_tool.cc |
| tool_replica_util.cc |
| ) |
| target_link_libraries(kudu_tools_rebalance |
| ksck |
| kudu_common |
| rebalance |
| ${KUDU_BASE_LIBS} |
| ) |
| |
| ####################################### |
| # kudu |
| ####################################### |
| |
| add_executable(kudu |
| master_rebuilder.cc |
| tool_action_cluster.cc |
| tool_action_diagnose.cc |
| tool_action_fs.cc |
| tool_action_hms.cc |
| tool_action_local_replica.cc |
| tool_action_master.cc |
| tool_action_pbc.cc |
| tool_action_perf.cc |
| tool_action_remote_replica.cc |
| tool_action_table.cc |
| tool_action_tablet.cc |
| tool_action_test.cc |
| tool_action_tserver.cc |
| tool_action_txn.cc |
| tool_action_wal.cc |
| tool_main.cc |
| ) |
| target_link_libraries(kudu |
| ${SANITIZER_OPTIONS_OVERRIDE} |
| ${KRB5_REALM_OVERRIDE} |
| clock |
| consensus |
| gutil |
| krpc |
| ksck |
| kudu_client |
| kudu_common |
| kudu_fs |
| kudu_subprocess |
| kudu_tools_rebalance |
| kudu_util |
| log |
| master |
| mini_cluster |
| tablet |
| tool_proto |
| transactions |
| tserver |
| ${KUDU_BASE_LIBS} |
| ) |
| option(KUDU_CLIENT_INSTALL "Whether to install the Kudu command line tool" ON) |
| if(KUDU_CLIENT_INSTALL) |
| install(TARGETS kudu RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) |
| else() |
| message(STATUS "Skipping install rule for the Kudu command line tool") |
| endif() |
| |
| ####################################### |
| # kudu_tools_test_util |
| ####################################### |
| |
| add_library(kudu_tools_test_util |
| tool_test_util.cc |
| ) |
| target_link_libraries(kudu_tools_test_util |
| kudu_tools_util |
| kudu_util |
| ) |
| |
| ####################################### |
| # Unit tests |
| ####################################### |
| |
| SET_KUDU_TEST_LINK_LIBS( |
| itest_util |
| ksck |
| kudu_hms |
| kudu_subprocess |
| kudu_tools_rebalance |
| kudu_tools_test_util |
| kudu_tools_util |
| mini_cluster) |
| ADD_KUDU_TEST(create-table-tool-test |
| NUM_SHARDS 4 PROCESSORS 3) |
| ADD_KUDU_TEST_DEPENDENCIES(create-table-tool-test |
| kudu) |
| ADD_KUDU_TEST(diagnostics_log_parser-test) |
| ADD_KUDU_TEST(ksck-test) |
| ADD_KUDU_TEST(ksck_remote-test |
| PROCESSORS 3 |
| DATA_FILES ../scripts/first_argument.sh) |
| ADD_KUDU_TEST(kudu-admin-test |
| NUM_SHARDS 8 PROCESSORS 3) |
| ADD_KUDU_TEST_DEPENDENCIES(kudu-admin-test |
| kudu) |
| ADD_KUDU_TEST(kudu-tool-test |
| NUM_SHARDS 4 PROCESSORS 3 |
| DATA_FILES testdata/sample-diagnostics-log.txt testdata/bad-diagnostics-log.txt |
| DATA_FILES ../scripts/first_argument.sh) |
| ADD_KUDU_TEST_DEPENDENCIES(kudu-tool-test |
| kudu) |
| ADD_KUDU_TEST(kudu-ts-cli-test) |
| ADD_KUDU_TEST_DEPENDENCIES(kudu-ts-cli-test |
| kudu) |
| ADD_KUDU_TEST(kudu-txn-cli-test) |
| ADD_KUDU_TEST_DEPENDENCIES(kudu-txn-cli-test |
| kudu) |
| ADD_KUDU_TEST(rebalancer_tool-test |
| NUM_SHARDS 8 PROCESSORS 3 |
| DATA_FILES ../scripts/assign-location.py) |
| ADD_KUDU_TEST_DEPENDENCIES(rebalancer_tool-test |
| kudu) |
| ADD_KUDU_TEST(tool_action-test) |