@@ -517,7 +517,6 @@ file(GLOB STORE_SRCS ${PROJECT_SOURCE_DIR}/src/store/*.cc)
517517file (GLOB SERVER_SRCS ${PROJECT_SOURCE_DIR} /src/server/*.cc)
518518file (GLOB SCAN_SRCS ${PROJECT_SOURCE_DIR} /src/scan/*.cc)
519519file (GLOB METRICS_SRCS ${PROJECT_SOURCE_DIR} /src/metrics/*.cc)
520- file (GLOB VERSION_SRCS ${PROJECT_SOURCE_DIR} /src/common/version .cc)
521520file (GLOB_RECURSE LIBEXPR_SRCS ${PROJECT_SOURCE_DIR} /src/libexpr/src/*.cc)
522521file (GLOB COPROCESSOR_SRCS ${PROJECT_SOURCE_DIR} /src/coprocessor/*.cc)
523522file (GLOB CLIENT_SRCS ${PROJECT_SOURCE_DIR} /src/client/*.cc)
@@ -591,7 +590,12 @@ set(DEPEND_LIBS ${DEPEND_LIBS} simd_utils)
591590
592591set (DYNAMIC_LIB ${DYNAMIC_LIB} ${SIMD_LIBRARIES} )
593592
594- # object file
593+ # library file
594+
595+ add_library (
596+ serial ${SERIAL_SRCS}
597+ )
598+
595599add_library (
596600 DINGODB_OBJS OBJECT
597601 ${COMMON_SRCS}
@@ -613,7 +617,6 @@ add_library(
613617 ${SERVER_SRCS}
614618 ${SCAN_SRCS}
615619 ${METRICS_SRCS}
616- ${SERIAL_SRCS}
617620 ${COPROCESSOR_SRCS}
618621 ${LIBEXPR_SRCS}
619622 ${DISKANN_SRCS}
@@ -668,7 +671,7 @@ message(STATUS "Git commit user: ${GIT_COMMIT_USER}")
668671message (STATUS "Git commit mail: ${GIT_COMMIT_MAIL} " )
669672message (STATUS "Git commit time: ${GIT_COMMIT_TIME} " )
670673
671- add_definitions (-DGLOG_CUSTOM_PREFIX_SUPPORT= ON )
674+ target_compile_definitions (DINGODB_OBJS PUBLIC GLOG_CUSTOM_PREFIX_SUPPORT )
672675add_definitions (-DGIT_VERSION="${GIT_VERSION} " )
673676add_definitions (-DGIT_TAG_NAME="${GIT_TAG_NAME} " )
674677add_definitions (-DGIT_COMMIT_USER="${GIT_COMMIT_USER} " )
@@ -684,9 +687,8 @@ if(ENABLE_FAILPOINT)
684687endif ()
685688
686689add_executable (dingodb_server src/server/main.cc $<TARGET_OBJECTS:DINGODB_OBJS> $<TARGET_OBJECTS:PROTO_OBJS>)
687- add_executable (
688- dingodb_client
689- ${CLIENT_SRCS}
690+
691+ add_library (client_lib
690692 src/coordinator/coordinator_interaction.cc
691693 src/common/role.cc
692694 src/common/helper.cc
@@ -696,49 +698,43 @@ add_executable(
696698 src/mvcc/codec.cc
697699 src/vector/codec.cc
698700 src/document/codec.cc
699- ${SERIAL_SRCS}
700- ${VERSION_SRCS}
701+ src/common/synchronization.cc
702+ src/common/uuid.cc
703+ src/common/version .cc
704+ )
705+
706+ target_compile_definitions (client_lib PUBLIC GLOG_CUSTOM_PREFIX_SUPPORT)
707+
708+ target_link_libraries (client_lib
709+ PROTO_OBJS
710+
711+ ${DEPEND_LIBS}
712+ ${DYNAMIC_LIB}
713+
714+ serial
715+ )
716+
717+ add_executable (
718+ dingodb_client
719+ ${CLIENT_SRCS}
701720 $<TARGET_OBJECTS:PROTO_OBJS>)
721+
702722add_executable (
703723 dingodb_cli
704724 ${CLIENT_V2_SRCS}
705- src/coordinator/coordinator_interaction.cc
706- src/common/role.cc
707- src/common/helper.cc
708- src/common/serial_helper.cc
709- src/common/service_access.cc
710- src/coprocessor/utils.cc
711- src/mvcc/codec.cc
712- src/vector/codec.cc
713- src/document/codec.cc
714- ${SERIAL_SRCS}
715- ${VERSION_SRCS}
716725 $<TARGET_OBJECTS:PROTO_OBJS>)
726+
717727add_executable (
718728 dingodb_br
719729 src/br/main.cc
720730 ${BR_SRCS}
721- src/coordinator/coordinator_interaction.cc
722- src/common/role.cc
723- src/common/helper.cc
724- src/common/serial_helper.cc
725- src/common/service_access.cc
726- src/coprocessor/utils.cc
727- src/mvcc/codec.cc
728- src/vector/codec.cc
729- src/document/codec.cc
730- src/common/synchronization.cc
731- src/common/uuid.cc
732- src/common/version .cc
733- ${SERIAL_SRCS}
734- ${VERSION_SRCS}
735731 $<TARGET_OBJECTS:PROTO_OBJS>)
736732
737733add_dependencies (DINGODB_OBJS ${DEPEND_LIBS} ${PROTO_OBJS} )
738- add_dependencies (dingodb_server ${DEPEND_LIBS} )
739- add_dependencies (dingodb_client ${DEPEND_LIBS} )
740- add_dependencies (dingodb_cli ${DEPEND_LIBS} )
741- add_dependencies (dingodb_br ${DEPEND_LIBS} )
734+ add_dependencies (dingodb_server serial ${DEPEND_LIBS} )
735+ add_dependencies (dingodb_client serial client_lib ${DEPEND_LIBS} )
736+ add_dependencies (dingodb_cli serial client_lib ${DEPEND_LIBS} )
737+ add_dependencies (dingodb_br serial client_lib ${DEPEND_LIBS} )
742738
743739if (DINGO_BUILD_STATIC)
744740 message (STATUS "Build DingoDB with static libraries linking" )
@@ -758,13 +754,13 @@ else()
758754 endif ()
759755endif ()
760756add_subdirectory (contrib/cli11)
761- target_link_libraries (dingodb_server ${DYNAMIC_LIB} ${VECTOR_LIB} "-Xlinker \" -(\" " ${BLAS_LIBRARIES} "-Xlinker \" -)\" " )
757+ target_link_libraries (dingodb_server serial ${DYNAMIC_LIB} ${VECTOR_LIB} "-Xlinker \" -(\" " ${BLAS_LIBRARIES} "-Xlinker \" -)\" " )
762758
763- target_link_libraries (dingodb_client ${DYNAMIC_LIB} )
759+ target_link_libraries (dingodb_client serial client_lib ${DYNAMIC_LIB} )
764760
765- target_link_libraries (dingodb_cli ${DYNAMIC_LIB} CLI11::CLI11)
761+ target_link_libraries (dingodb_cli serial client_lib ${DYNAMIC_LIB} CLI11::CLI11)
766762
767- target_link_libraries (dingodb_br ${DYNAMIC_LIB} )
763+ target_link_libraries (dingodb_br serial client_lib ${DYNAMIC_LIB} )
768764
769765if (BUILD_UNIT_TESTS)
770766 message (STATUS "Build unit test" )
0 commit comments