379 lines
14 KiB
CMake
379 lines
14 KiB
CMake
set(CPACK_PACKAGING_INSTALL_PREFIX /home/admin/oceanbase)
|
|
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "OceanBase is a distributed relational database")
|
|
set(CPACK_PACKAGE_VENDOR "OceanBase Inc.")
|
|
set(CPACK_PACKAGE_DESCRIPTION "OceanBase is a distributed relational database")
|
|
set(CPACK_COMPONENTS_ALL server sql-parser)
|
|
|
|
if (OB_BUILD_OPENSOURCE)
|
|
set(CPACK_PACKAGE_NAME "oceanbase-ce")
|
|
set(CPACK_PACKAGE_VERSION "${OceanBase_CE_VERSION}")
|
|
set(CPACK_PACKAGE_VERSION_MAJOR "${OceanBase_CE_VERSION_MAJOR}")
|
|
set(CPACK_PACKAGE_VERSION_MINOR "${OceanBase_CE_VERSION_MINOR}")
|
|
set(CPACK_PACKAGE_VERSION_PATCH "${OceanBase_CE_VERSION_PATCH}")
|
|
else()
|
|
set(CPACK_PACKAGE_NAME "oceanbase")
|
|
set(CPACK_PACKAGE_VERSION "${OceanBase_VERSION}")
|
|
set(CPACK_PACKAGE_VERSION_MAJOR "${OceanBase_VERSION_MAJOR}")
|
|
set(CPACK_PACKAGE_VERSION_MINOR "${OceanBase_VERSION_MINOR}")
|
|
set(CPACK_PACKAGE_VERSION_PATCH "${OceanBase_VERSION_PATCH}")
|
|
endif()
|
|
|
|
## TIPS
|
|
#
|
|
# - PATH is relative to the **ROOT directory** of project other than the cmake directory.
|
|
|
|
set(BITCODE_TO_ELF_LIST "")
|
|
|
|
# systemd define on package
|
|
if (OB_BUILD_OPENSOURCE)
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tools/systemd/profile/oceanbase-service.sh.template
|
|
${CMAKE_CURRENT_SOURCE_DIR}/tools/systemd/profile/oceanbase-service.sh
|
|
@ONLY)
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tools/systemd/profile/telemetry.sh.template
|
|
${CMAKE_CURRENT_SOURCE_DIR}/tools/systemd/profile/telemetry.sh
|
|
@ONLY)
|
|
endif()
|
|
|
|
## server
|
|
if (OB_BUILD_OPENSOURCE)
|
|
install(PROGRAMS
|
|
tools/import_time_zone_info.py
|
|
tools/import_srs_data.py
|
|
${CMAKE_BINARY_DIR}/src/observer/observer
|
|
deps/3rd/home/admin/oceanbase/bin/obshell
|
|
DESTINATION bin
|
|
COMPONENT server)
|
|
else()
|
|
install(PROGRAMS
|
|
script/dooba/dooba
|
|
tools/import_time_zone_info.py
|
|
tools/import_srs_data.py
|
|
${CMAKE_BINARY_DIR}/tools/ob_admin/ob_admin
|
|
${CMAKE_BINARY_DIR}/src/logservice/logminer/oblogminer
|
|
tools/ob_admin/io_bench/bench_io.sh
|
|
${CMAKE_BINARY_DIR}/src/observer/observer
|
|
DESTINATION bin
|
|
COMPONENT server)
|
|
endif()
|
|
|
|
install(FILES
|
|
src/sql/fill_help_tables-ob.sql
|
|
src/share/parameter/default_parameter.json
|
|
src/share/system_variable/default_system_variable.json
|
|
tools/timezone_V1.log
|
|
tools/default_srs_data_mysql.sql
|
|
tools/upgrade/upgrade_pre.py
|
|
tools/upgrade/upgrade_post.py
|
|
tools/upgrade/upgrade_checker.py
|
|
tools/upgrade/upgrade_health_checker.py
|
|
tools/upgrade/oceanbase_upgrade_dep.yml
|
|
DESTINATION etc
|
|
COMPONENT server)
|
|
|
|
install(
|
|
DIRECTORY src/share/inner_table/sys_package/
|
|
DESTINATION admin
|
|
COMPONENT server)
|
|
|
|
if (OB_BUILD_OPENSOURCE)
|
|
install(FILES
|
|
tools/systemd/profile/oceanbase.cnf
|
|
tools/systemd/profile/oceanbase-pre.json
|
|
tools/systemd/profile/oceanbase.service
|
|
tools/systemd/profile/oceanbase-service.sh
|
|
tools/systemd/profile/telemetry-pre.json
|
|
tools/systemd/profile/telemetry.sh
|
|
DESTINATION profile
|
|
COMPONENT server)
|
|
endif()
|
|
|
|
## oceanbase-cdc
|
|
if (NOT OB_SO_CACHE AND BUILD_CDC_ONLY)
|
|
list(APPEND CPACK_COMPONENTS_ALL cdc)
|
|
include(GNUInstallDirs)
|
|
install(
|
|
TARGETS obcdc obcdc_tailf
|
|
COMPONENT cdc
|
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libobcdc
|
|
)
|
|
|
|
get_property(CDCMSG_HEADER_DIR GLOBAL PROPERTY CDC_MSG_HEADER_DIR)
|
|
install(
|
|
DIRECTORY
|
|
${CDCMSG_HEADER_DIR}
|
|
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
|
COMPONENT cdc
|
|
)
|
|
install(
|
|
DIRECTORY
|
|
${PROJECT_SOURCE_DIR}/src/logservice/libobcdc/tests/scripts/
|
|
DESTINATION ${CMAKE_INSTALL_RUNSTATEDIR}
|
|
COMPONENT cdc
|
|
)
|
|
|
|
if(OB_BUILD_OPENSOURCE)
|
|
install(
|
|
FILES
|
|
${PROJECT_SOURCE_DIR}/src/logservice/libobcdc/tests/libobcdc.conf
|
|
${PROJECT_SOURCE_DIR}/tools/upgrade/obcdc_compatiable_ob_info.yaml
|
|
DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}
|
|
COMPONENT cdc
|
|
)
|
|
else()
|
|
install(
|
|
FILES
|
|
${PROJECT_SOURCE_DIR}/src/logservice/libobcdc/tests/libobcdc.conf
|
|
${PROJECT_SOURCE_DIR}/tools/upgrade/obcdc_compatiable_ob_info.yaml
|
|
${PROJECT_SOURCE_DIR}/src/logservice/libobcdc/tests/timezone_info.conf
|
|
DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}
|
|
COMPONENT cdc
|
|
)
|
|
endif()
|
|
endif()
|
|
|
|
## oceanbase-sql-parser
|
|
if (OB_BUILD_LIBOB_SQL_PROXY_PARSER)
|
|
|
|
if (ENABLE_THIN_LTO)
|
|
message(STATUS "add libob_sql_proxy_parser_static_to_elf")
|
|
add_custom_command(
|
|
OUTPUT libob_sql_proxy_parser_static_to_elf
|
|
COMMAND ${CMAKE_SOURCE_DIR}/cmake/script/bitcode_to_elfobj --ld=${OB_LD_BIN} --input=${CMAKE_BINARY_DIR}/src/sql/parser/libob_sql_proxy_parser_static.a --output=${CMAKE_BINARY_DIR}/src/sql/parser/libob_sql_proxy_parser_static.a
|
|
DEPENDS ob_sql_proxy_parser_static
|
|
COMMAND_EXPAND_LISTS)
|
|
list(APPEND BITCODE_TO_ELF_LIST libob_sql_proxy_parser_static_to_elf)
|
|
endif()
|
|
|
|
install(PROGRAMS
|
|
${CMAKE_BINARY_DIR}/src/sql/parser/libob_sql_proxy_parser_static.a
|
|
DESTINATION lib
|
|
COMPONENT sql-parser
|
|
)
|
|
endif()
|
|
|
|
install(FILES
|
|
src/objit/include/objit/common/ob_item_type.h
|
|
deps/oblib/src/common/sql_mode/ob_sql_mode.h
|
|
src/sql/parser/ob_sql_parser.h
|
|
src/sql/parser/parse_malloc.h
|
|
src/sql/parser/parser_proxy_func.h
|
|
src/sql/parser/parse_node.h
|
|
DESTINATION include
|
|
COMPONENT sql-parser)
|
|
|
|
if (NOT OB_BUILD_OPENSOURCE)
|
|
## oceanbsae-table
|
|
list(APPEND CPACK_COMPONENTS_ALL table)
|
|
install(FILES
|
|
deps/oblib/src/common/data_buffer.h
|
|
deps/oblib/src/common/ob_accuracy.h
|
|
deps/oblib/src/common/ob_action_flag.h
|
|
deps/oblib/src/common/ob_common_utility.h
|
|
deps/oblib/src/common/ob_range.h
|
|
deps/oblib/src/common/ob_region.h
|
|
deps/oblib/src/common/ob_role.h
|
|
deps/oblib/src/common/ob_string_buf.h
|
|
deps/oblib/src/common/ob_string_buf.ipp
|
|
deps/oblib/src/common/ob_timeout_ctx.h
|
|
deps/oblib/src/common/ob_zerofill_info.h
|
|
deps/oblib/src/common/ob_zone.h
|
|
deps/oblib/src/common/object/ob_obj_type.h
|
|
deps/oblib/src/common/object/ob_object.h
|
|
deps/oblib/src/common/rowkey/ob_rowkey.h
|
|
deps/oblib/src/common/rowkey/ob_rowkey_info.h
|
|
deps/oblib/src/lib/alloc/abit_set.h
|
|
deps/oblib/src/lib/alloc/alloc_assist.h
|
|
deps/oblib/src/lib/alloc/alloc_func.h
|
|
deps/oblib/src/lib/alloc/alloc_struct.h
|
|
deps/oblib/src/lib/alloc/block_set.h
|
|
deps/oblib/src/lib/alloc/ob_malloc_allocator.h
|
|
deps/oblib/src/lib/alloc/ob_tenant_ctx_allocator.h
|
|
deps/oblib/src/lib/alloc/object_mgr.h
|
|
deps/oblib/src/lib/alloc/object_set.h
|
|
deps/oblib/src/lib/allocator/ob_allocator.h
|
|
deps/oblib/src/lib/allocator/ob_cached_allocator.h
|
|
deps/oblib/src/lib/allocator/ob_concurrent_fifo_allocator.h
|
|
deps/oblib/src/lib/allocator/ob_fifo_allocator.h
|
|
deps/oblib/src/lib/allocator/ob_lf_fifo_allocator.h
|
|
deps/oblib/src/lib/allocator/ob_malloc.h
|
|
deps/oblib/src/lib/allocator/ob_mod_define.h
|
|
deps/oblib/src/lib/allocator/ob_pcounter.h
|
|
deps/oblib/src/lib/allocator/ob_pooled_allocator.h
|
|
deps/oblib/src/lib/allocator/ob_retire_station.h
|
|
deps/oblib/src/lib/allocator/ob_small_allocator.h
|
|
deps/oblib/src/lib/allocator/ob_tc_malloc.h
|
|
deps/oblib/src/lib/allocator/page_arena.h
|
|
deps/oblib/src/lib/atomic/ob_atomic.h
|
|
deps/oblib/src/lib/atomic/ob_atomic_reference.h
|
|
deps/oblib/src/lib/charset/ob_charset.h
|
|
deps/oblib/src/lib/charset/ob_config.h
|
|
deps/oblib/src/lib/charset/ob_ctype.h
|
|
deps/oblib/src/lib/charset/ob_mysql_global.h
|
|
deps/oblib/src/lib/checksum/ob_crc64.h
|
|
deps/oblib/src/lib/container/ob_array.h
|
|
deps/oblib/src/lib/container/ob_array_helper.h
|
|
deps/oblib/src/lib/container/ob_array_iterator.h
|
|
deps/oblib/src/lib/container/ob_array_serialization.h
|
|
deps/oblib/src/lib/container/ob_array_wrap.h
|
|
deps/oblib/src/lib/container/ob_bit_set.h
|
|
deps/oblib/src/lib/container/ob_fixed_array.h
|
|
deps/oblib/src/lib/container/ob_iarray.h
|
|
deps/oblib/src/lib/container/ob_se_array.h
|
|
deps/oblib/src/lib/container/ob_vector.h
|
|
deps/oblib/src/lib/container/ob_vector.ipp
|
|
deps/oblib/src/lib/core_local/ob_core_local_storage.h
|
|
deps/oblib/src/lib/file/config.h
|
|
deps/oblib/src/lib/file/ob_string_util.h
|
|
deps/oblib/src/lib/hash/mprotect.h
|
|
deps/oblib/src/lib/hash/ob_array_index_hash_set.h
|
|
deps/oblib/src/lib/hash/ob_hashmap.h
|
|
deps/oblib/src/lib/hash/ob_hashset.h
|
|
deps/oblib/src/lib/hash/ob_hashtable.h
|
|
deps/oblib/src/lib/hash/ob_hashutils.h
|
|
deps/oblib/src/lib/hash/ob_iteratable_hashmap.h
|
|
deps/oblib/src/lib/hash/ob_linear_hash_map.h
|
|
deps/oblib/src/lib/hash/ob_placement_hashutils.h
|
|
deps/oblib/src/lib/hash/ob_pointer_hashmap.h
|
|
deps/oblib/src/lib/hash/ob_serialization.h
|
|
deps/oblib/src/lib/hash_func/murmur_hash.h
|
|
deps/oblib/src/lib/hash_func/ob_hash_func.h
|
|
deps/oblib/src/lib/json/ob_yson.h
|
|
deps/oblib/src/lib/json/ob_yson_encode.h
|
|
deps/oblib/src/lib/list/ob_dlink_node.h
|
|
deps/oblib/src/lib/list/ob_dlist.h
|
|
deps/oblib/src/lib/list/ob_list.h
|
|
deps/oblib/src/lib/lock/cond.h
|
|
deps/oblib/src/lib/lock/ob_lock.h
|
|
deps/oblib/src/lib/lock/ob_monitor.h
|
|
deps/oblib/src/lib/lock/mutex.h
|
|
deps/oblib/src/lib/lock/ob_bucket_lock.h
|
|
deps/oblib/src/lib/lock/ob_drw_lock.h
|
|
deps/oblib/src/lib/lock/ob_latch.h
|
|
deps/oblib/src/lib/lock/ob_lock_guard.h
|
|
deps/oblib/src/lib/lock/ob_mutex.h
|
|
deps/oblib/src/lib/lock/ob_small_spin_lock.h
|
|
deps/oblib/src/lib/lock/ob_spin_lock.h
|
|
deps/oblib/src/lib/lock/ob_spin_rwlock.h
|
|
deps/oblib/src/lib/lock/ob_thread_cond.h
|
|
deps/oblib/src/lib/lock/ob_rwlock.h
|
|
deps/oblib/src/lib/metrics/ob_counter.h
|
|
deps/oblib/src/lib/net/ob_addr.h
|
|
deps/oblib/src/lib/net/ob_net_util.h
|
|
deps/oblib/src/lib/number/ob_number_v2.h
|
|
deps/oblib/src/lib/ob_date_unit_type.h
|
|
deps/oblib/src/lib/ob_define.h
|
|
deps/oblib/src/lib/ob_errno.h
|
|
deps/oblib/src/lib/ob_name_def.h
|
|
deps/oblib/src/lib/ob_name_id_def.h
|
|
deps/oblib/src/lib/oblog/ob_log.h
|
|
deps/oblib/src/lib/oblog/ob_log_module.h
|
|
deps/oblib/src/lib/oblog/ob_log_print_kv.h
|
|
deps/oblib/src/lib/oblog/ob_trace_log.h
|
|
deps/oblib/src/lib/profile/ob_atomic_event.h
|
|
deps/oblib/src/lib/queue/ob_dedup_queue.h
|
|
deps/oblib/src/lib/queue/ob_fixed_queue.h
|
|
deps/oblib/src/lib/queue/ob_link.h
|
|
deps/oblib/src/lib/random/ob_random.h
|
|
deps/oblib/src/lib/resource/achunk_mgr.h
|
|
deps/oblib/src/lib/resource/ob_cache_washer.h
|
|
deps/oblib/src/lib/resource/ob_resource_mgr.h
|
|
deps/oblib/src/lib/stat/ob_latch_define.h
|
|
deps/oblib/src/lib/string/ob_fixed_length_string.h
|
|
deps/oblib/src/lib/string/ob_string.h
|
|
deps/oblib/src/lib/string/ob_strings.h
|
|
deps/oblib/src/lib/thread_local/ob_tsi_factory.h
|
|
deps/oblib/src/lib/thread_local/ob_tsi_utils.h
|
|
deps/oblib/src/lib/time/Time.h
|
|
deps/oblib/src/lib/time/ob_time_utility.h
|
|
deps/oblib/src/lib/timezone/ob_time_convert.h
|
|
deps/oblib/src/lib/timezone/ob_timezone_info.h
|
|
deps/oblib/src/lib/trace/ob_seq_event_recorder.h
|
|
deps/oblib/src/lib/trace/ob_trace_event.h
|
|
deps/oblib/src/lib/utility/ob_hang_fatal_error.h
|
|
deps/oblib/src/lib/utility/ob_macro_utils.h
|
|
deps/oblib/src/lib/utility/ob_print_kv.h
|
|
deps/oblib/src/lib/utility/ob_print_utils.h
|
|
deps/oblib/src/lib/utility/ob_rate_limiter.h
|
|
deps/oblib/src/lib/utility/ob_serialization_helper.h
|
|
deps/oblib/src/lib/utility/ob_template_utils.h
|
|
deps/oblib/src/lib/utility/ob_unify_serialize.h
|
|
deps/oblib/src/lib/utility/serialization.h
|
|
deps/oblib/src/lib/utility/utility.h
|
|
deps/oblib/src/lib/wait_event/ob_wait_class.h
|
|
deps/oblib/src/lib/wait_event/ob_wait_event.h
|
|
src/share/config/ob_common_config.h
|
|
src/share/config/ob_config.h
|
|
src/share/config/ob_config_helper.h
|
|
src/share/mysql_errno.h
|
|
src/share/object/ob_obj_cast.h
|
|
src/share/partition_table/ob_partition_location.h
|
|
src/share/table/ob_table.h
|
|
src/share/table/ob_table_rpc_proxy.h
|
|
src/share/table/ob_table_rpc_struct.h
|
|
src/libtable/src/libobtable.h
|
|
src/libtable/src/ob_table.h
|
|
src/libtable/src/ob_hkv_table.h
|
|
src/libtable/src/ob_pstore.h
|
|
src/libtable/src/ob_table_service_client.h
|
|
src/libtable/src/ob_table_service_config.h
|
|
src/libtable/src/ob_table_define.h
|
|
DESTINATION include
|
|
COMPONENT table)
|
|
|
|
install(FILES
|
|
src/libtable/examples/ob_pstore_example.cpp
|
|
src/libtable/examples/ob_kvtable_example.cpp
|
|
src/libtable/examples/ob_table_example.cpp
|
|
src/libtable/examples/example_makefile.mk
|
|
DESTINATION examples
|
|
COMPONENT table)
|
|
|
|
if (OB_BUILD_LIBOBTABLE)
|
|
|
|
if (ENABLE_THIN_LTO)
|
|
message(STATUS "add libobtable_static_to_elf")
|
|
add_custom_command(
|
|
OUTPUT libobtable_static_to_elf
|
|
COMMAND ${CMAKE_SOURCE_DIR}/cmake/script/bitcode_to_elfobj --ld=${OB_LD_BIN} --input=${CMAKE_BINARY_DIR}/src/libtable/src/libobtable_static.a --output=${CMAKE_BINARY_DIR}/src/libtable/src/libobtable_static.a
|
|
DEPENDS obtable_static
|
|
COMMAND_EXPAND_LISTS)
|
|
list(APPEND BITCODE_TO_ELF_LIST libobtable_static_to_elf)
|
|
endif()
|
|
|
|
install(PROGRAMS
|
|
${CMAKE_BINARY_DIR}/src/libtable/src/libobtable.so
|
|
${CMAKE_BINARY_DIR}/src/libtable/src/libobtable.so.1
|
|
${CMAKE_BINARY_DIR}/src/libtable/src/libobtable.so.1.0.0
|
|
${CMAKE_BINARY_DIR}/src/libtable/src/libobtable_static.a
|
|
DESTINATION lib
|
|
COMPONENT table)
|
|
endif()
|
|
endif()
|
|
|
|
if(OB_BUILD_OPENSOURCE)
|
|
## oceanbase-libs
|
|
list(APPEND CPACK_COMPONENTS_ALL libs)
|
|
install(PROGRAMS
|
|
deps/3rd/usr/local/oceanbase/deps/devel/lib/libaio.so.1
|
|
deps/3rd/usr/local/oceanbase/deps/devel/lib/libaio.so.1.0.1
|
|
deps/3rd/usr/local/oceanbase/deps/devel/lib/libaio.so
|
|
DESTINATION lib
|
|
COMPONENT libs
|
|
)
|
|
if(OB_BUILD_OBADMIN)
|
|
## oceanbase-utils
|
|
list(APPEND CPACK_COMPONENTS_ALL utils)
|
|
install(PROGRAMS
|
|
${CMAKE_BINARY_DIR}/tools/ob_admin/ob_admin
|
|
${CMAKE_BINARY_DIR}/tools/ob_error/src/ob_error
|
|
${CMAKE_BINARY_DIR}/src/logservice/logminer/oblogminer
|
|
${DEVTOOLS_DIR}/bin/obstack
|
|
DESTINATION /usr/bin
|
|
COMPONENT utils
|
|
)
|
|
endif()
|
|
endif()
|