diff --git a/CMakeLists.txt b/CMakeLists.txt
deleted file mode 100644
index fa08c2e..0000000
--- a/CMakeLists.txt
+++ /dev/null
@@ -1,167 +0,0 @@
-cmake_minimum_required(VERSION 3.13 FATAL_ERROR)
-project(rocketmq VERSION 1.0.0 LANGUAGES CXX)
-
-set(CMAKE_CXX_STANDARD 11)
-set(CMAKE_CXX_EXTENSIONS OFF)
-set(CMAKE_POSITION_INDEPENDENT_CODE ON)
-set(CMAKE_VERBOSE_MAKEFILE ON)
-set(VERSION "1.0.0")
-
-include(FetchContent)
-
-find_package(Threads)
-
-FetchContent_Declare(
-        gRPC
-        GIT_REPOSITORY https://gitee.com/lizhanhui/grpc.git
-        GIT_TAG        v1.38.0-p2
-)
-FetchContent_Declare(
-        googletest
-        GIT_REPOSITORY https://github.com/google/googletest.git
-        GIT_TAG        v1.10.x
-)
-FetchContent_Declare(
-        spdlog
-        GIT_REPOSITORY https://github.com/gabime/spdlog.git
-        GIT_TAG        v1.8.1
-)
-
-FetchContent_Declare(
-        fmt
-        GIT_REPOSITORY https://github.com/fmtlib/fmt.git
-        GIT_TAG        7.0.2
-)
-
-FetchContent_Declare(
-        ghc
-        GIT_REPOSITORY https://github.com/gulrak/filesystem.git
-        GIT_TAG        v1.3.2
-)
-
-FetchContent_Declare(
-        opentelemetry
-        GIT_REPOSITORY https://github.com/open-telemetry/opentelemetry-cpp.git
-        GIT_TAG v1.0.0-rc4
-)
-
-FetchContent_Declare(
-        ThreadPool
-        GIT_REPOSITORY https://github.com/lizhanhui/ThreadPool.git
-        GIT_TAG v1.1
-)
-
-set(FETCHCONTENT_QUIET OFF)
-option(INSTALL_GTEST OFF)
-set(BUILD_TESTING OFF)
-set(ABSL_RUN_TESTS OFF)
-set(SPDLOG_FMT_EXTERNAL ON)
-if (BUILD_TESTS)
-    FetchContent_MakeAvailable(googletest)
-endif ()
-
-FetchContent_MakeAvailable(fmt gRPC spdlog ghc ThreadPool opentelemetry)
-
-option(ENABLE_TRACING OFF)
-if (ENABLE_TRACING)
-    FetchContent_MakeAvailable(opentelemetry)
-endif ()
-
-# Since FetchContent uses add_subdirectory under the hood, we can use
-# the grpc targets directly from this build.
-set(_PROTOBUF_LIBPROTOBUF libprotobuf)
-set(_REFLECTION grpc++_reflection)
-set(_PROTOBUF_PROTOC $<TARGET_FILE:protoc>)
-set(_GRPC_GRPCPP grpc++)
-if(CMAKE_CROSSCOMPILING)
-    message("CMake cross compiling")
-    find_program(_GRPC_CPP_PLUGIN_EXECUTABLE grpc_cpp_plugin)
-else()
-    set(_GRPC_CPP_PLUGIN_EXECUTABLE $<TARGET_FILE:grpc_cpp_plugin>)
-    message("CMake non-cross compiling: ${_GRPC_CPP_PLUGIN_EXECUTABLE}")
-endif()
-
-file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/proto)
-file(TOUCH ${CMAKE_CURRENT_BINARY_DIR}/proto/dummy.cc)
-file(GLOB PROTO_FILES
-        "${CMAKE_CURRENT_SOURCE_DIR}/proto/apache/rocketmq/v1/*.proto"
-        "${CMAKE_CURRENT_SOURCE_DIR}/proto/google/rpc/*.proto")
-foreach(proto_file ${PROTO_FILES})
-    get_filename_component(proto_file_base_name ${proto_file} NAME_WE)
-    message("Proto file base file name: ${proto_file_base_name}, abs: ${proto_file}")
-    set(proto_src_file "${CMAKE_BINARY_DIR}/proto/apache/rocketmq/v1/${proto_file_base_name}.pb.cc")
-    set(proto_hdr_file "${CMAKE_BINARY_DIR}/proto/apache/rocketmq/v1/${proto_file_base_name}.pb.h")
-    set(grpc_src_file  "${CMAKE_BINARY_DIR}/proto/apache/rocketmq/v1/${proto_file_base_name}.grpc.pb.cc")
-    set(grpc_hdr_file  "${CMAKE_BINARY_DIR}/proto/apache/rocketmq/v1/${proto_file_base_name}.grpc.pb.h")
-
-    add_custom_command(
-        OUTPUT "${proto_src_file}" "${proto_hdr_file}" "${grpc_src_file}" "${grpc_hdr_file}"
-        COMMAND ${_PROTOBUF_PROTOC}
-        ARGS --grpc_out "${CMAKE_CURRENT_BINARY_DIR}/proto"
-        --cpp_out "${CMAKE_BINARY_DIR}/proto"
-        -I "${CMAKE_SOURCE_DIR}/proto"
-        --plugin=protoc-gen-grpc="${_GRPC_CPP_PLUGIN_EXECUTABLE}"
-        "${proto_file}"
-        DEPENDS "${proto_file}"
-        COMMENT "Protoc to generate gRPC stub files"
-    )
-
-    add_custom_target(${proto_file_base_name}
-            ALL
-            DEPENDS ${proto_src_file} ${proto_hdr_file} ${grpc_src_file} ${grpc_hdr_file}
-            COMMENT "Custom target"
-            VERBATIM)
-endforeach()
-
-file(GLOB_RECURSE STUB_FILES ${CMAKE_BINARY_DIR}/proto/*.cc)
-add_library(mq_proto_library STATIC ${STUB_FILES})
-target_include_directories(mq_proto_library PUBLIC ${CMAKE_BINARY_DIR}/proto)
-target_link_libraries(mq_proto_library
-        PUBLIC
-            ${_REFLECTION}
-            ${_GRPC_GRPCPP}
-            ${_PROTOBUF_LIBPROTOBUF})
-
-enable_testing()
-
-option(ENABLE_TLS ON)
-if (ENABLE_TLS)
-    message("TLS enabled")
-    find_package(OpenSSL REQUIRED)
-    add_compile_definitions(TLS_ENABLED=ON)
-endif ()
-
-add_subdirectory(api)
-add_subdirectory(src/main/cpp)
-
-if (BUILD_TESTS)
-    add_subdirectory(src/test/cpp/ut)
-endif()
-
-if (BUILD_INTEGRATION_TESTS)
-    add_subdirectory(src/test/cpp/it)
-endif ()
-
-if (BUILD_EXAMPLES)
-    add_subdirectory(example)
-endif ()
-
-include(GNUInstallDirs)
-install(DIRECTORY api/rocketmq
-            DESTINATION include)
-install(TARGETS rocketmq_static rocketmq_shared
-            LIBRARY DESTINATION lib)
-install(FILES
-            example/rocketmq/ExampleProducer.cpp
-            example/rocketmq/ExamplePushConsumer.cpp
-        DESTINATION example)
-
-set(CPACK_PACKAGE_VERSION ${VERSION})
-set(CPACK_GENERATOR "RPM")
-set(CPACK_PACKAGE_NAME "rocketmq-cpp")
-set(CPACK_PACKAGE_RELEASE 1)
-set(CPACK_PACKAGE_CONTACT "Zhanhui Li")
-set(CPACK_PACKAGE_VENDOR "Alibaba")
-set(CPACK_PACKAGING_INSTALL_PREFIX "/home/admin")
-set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_PACKAGE_RELEASE}")
-include(CPack)
\ No newline at end of file
diff --git a/api/CMakeLists.txt b/api/CMakeLists.txt
deleted file mode 100644
index b41166c..0000000
--- a/api/CMakeLists.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-add_library(rocketmq_interface INTERFACE)
-target_include_directories(rocketmq_interface
-        INTERFACE
-        ${CMAKE_CURRENT_SOURCE_DIR})
\ No newline at end of file
diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt
deleted file mode 100644
index ee3f37f..0000000
--- a/example/CMakeLists.txt
+++ /dev/null
@@ -1 +0,0 @@
-add_subdirectory(rocketmq)
\ No newline at end of file
diff --git a/example/rocketmq/CMakeLists.txt b/example/rocketmq/CMakeLists.txt
deleted file mode 100644
index c4f9af5..0000000
--- a/example/rocketmq/CMakeLists.txt
+++ /dev/null
@@ -1,65 +0,0 @@
-add_executable(example_producer ExampleProducer.cpp)
-target_link_libraries(example_producer
-        PRIVATE
-            CURL::libcurl
-            rocketmq
-            $<$<PLATFORM_ID:Linux>:-static-libgcc>
-            $<$<PLATFORM_ID:Linux>:-static-libstdc++>)
-
-add_executable(example_async_producer ExampleAsyncProducer.cpp)
-target_link_libraries(example_async_producer
-        PRIVATE
-            CURL::libcurl
-            rocketmq
-            $<$<PLATFORM_ID:Linux>:-static-libgcc>
-            $<$<PLATFORM_ID:Linux>:-static-libstdc++>)
-
-
-add_executable(example_push_consumer ExamplePushConsumer.cpp)
-target_link_libraries(example_push_consumer
-        PRIVATE
-            CURL::libcurl
-            rocketmq
-            spdlog::spdlog_header_only
-            $<$<PLATFORM_ID:Linux>:-static-libgcc>
-            $<$<PLATFORM_ID:Linux>:-static-libstdc++>)
-
-
-add_executable(example_broadcast_push_consumer ExampleBroadcastPushConsumer.cpp)
-target_link_libraries(example_broadcast_push_consumer
-        PRIVATE
-        CURL::libcurl
-        rocketmq
-        spdlog::spdlog_header_only
-        $<$<PLATFORM_ID:Linux>:-static-libgcc>
-        $<$<PLATFORM_ID:Linux>:-static-libstdc++>)
-
-add_executable(benchmark_push_consumer BenchmarkPushConsumer.cpp)
-target_link_libraries(benchmark_push_consumer
-        CURL::libcurl
-        rocketmq)
-
-add_executable(sql_producer SqlProducer.cpp)
-target_link_libraries(sql_producer
-        CURL::libcurl
-        rocketmq)
-
-add_executable(sql_consumer SqlConsumer.cpp)
-target_link_libraries(sql_consumer
-        CURL::libcurl
-        rocketmq)
-
-add_executable(consumer_with_custom_executor PushConsumerWithCustomExecutor.cpp)
-target_link_libraries(consumer_with_custom_executor
-        CURL::libcurl
-        rocketmq)
-
-add_executable(consumer_with_throttle PushConsumerWithThrottle.cpp)
-target_link_libraries(consumer_with_throttle
-        CURL::libcurl
-        rocketmq)
-
-add_executable(pull_consumer ExamplePullConsumer.cpp)
-target_link_libraries(pull_consumer
-        CURL::libcurl
-        rocketmq)
\ No newline at end of file
diff --git a/src/main/cpp/CMakeLists.txt b/src/main/cpp/CMakeLists.txt
deleted file mode 100644
index df43e76..0000000
--- a/src/main/cpp/CMakeLists.txt
+++ /dev/null
@@ -1,72 +0,0 @@
-add_subdirectory(base)
-add_subdirectory(log)
-add_subdirectory(admin)
-add_subdirectory(concurrent)
-add_subdirectory(scheduler)
-add_subdirectory(client)
-add_subdirectory(rocketmq)
-
-add_library(rocketmq_static
-        STATIC
-            $<TARGET_OBJECTS:base_obj>
-            $<TARGET_OBJECTS:admin_obj>
-            $<TARGET_OBJECTS:scheduler_obj>
-            $<TARGET_OBJECTS:client_obj>
-            $<TARGET_OBJECTS:logger_obj>
-            $<TARGET_OBJECTS:countdown_latch_obj>
-            $<TARGET_OBJECTS:rocketmq_obj>)
-target_link_libraries(rocketmq_static
-        PUBLIC
-            absl::flat_hash_set
-            absl::flat_hash_map
-            absl::random_random
-            absl::synchronization
-            absl::strings
-            fmt
-            mq_proto_library
-            re2::re2
-            rocketmq_interface
-            uv_a
-            zlib)
-if (ENABLE_TRACING)
-    target_link_libraries(rocketmq_static
-        PUBLIC
-            opentelemetry_trace
-            opentelemetry_exporter_otprotocol)
-endif ()
-
-add_library(rocketmq_shared
-        SHARED
-            $<TARGET_OBJECTS:base_obj>
-            $<TARGET_OBJECTS:admin_obj>
-            $<TARGET_OBJECTS:scheduler_obj>
-            $<TARGET_OBJECTS:client_obj>
-            $<TARGET_OBJECTS:logger_obj>
-            $<TARGET_OBJECTS:countdown_latch_obj>
-            $<TARGET_OBJECTS:rocketmq_obj>)
-target_link_libraries(rocketmq_shared
-        PUBLIC
-            absl::flat_hash_set
-            absl::flat_hash_map
-            absl::random_random
-            absl::synchronization
-            absl::strings
-            fmt
-            mq_proto_library
-            re2::re2
-            rocketmq_interface
-            uv_a
-            zlib)
-if (ENABLE_TRACING)
-    target_link_libraries(rocketmq_shared
-        PUBLIC
-            opentelemetry_trace
-            opentelemetry_exporter_otprotocol)
-endif ()
-
-set_target_properties(rocketmq_static rocketmq_shared
-        PROPERTIES
-            ARCHIVE_OUTPUT_NAME rocketmq
-            LIBRARY_OUTPUT_NAME rocketmq)
-
-add_library(rocketmq ALIAS rocketmq_static)
\ No newline at end of file
diff --git a/src/main/cpp/admin/CMakeLists.txt b/src/main/cpp/admin/CMakeLists.txt
deleted file mode 100644
index c05093f..0000000
--- a/src/main/cpp/admin/CMakeLists.txt
+++ /dev/null
@@ -1,44 +0,0 @@
-add_library(admin_obj OBJECT)
-
-target_include_directories(admin_obj
-        PUBLIC
-            ${CMAKE_CURRENT_SOURCE_DIR}/include)
-
-target_sources(admin_obj
-        PRIVATE
-            AdminServiceImpl.cpp
-            AdminServerImpl.cpp
-            AdminFacade.cpp)
-
-target_link_libraries(admin_obj
-        PUBLIC
-            rocketmq_interface
-            spdlog::spdlog_header_only
-            mq_proto_library
-            grpc++)
-
-add_library(admin_library
-        STATIC
-            $<TARGET_OBJECTS:admin_obj>)
-target_include_directories(admin_library
-        PUBLIC
-            ${CMAKE_CURRENT_SOURCE_DIR}/include)
-target_link_libraries(admin_library
-        PUBLIC
-            mq_proto_library
-            grpc++
-            rocketmq_interface
-            spdlog::spdlog_header_only)
-
-
-add_executable(admin_client AdminClient.cpp)
-target_include_directories(admin_client
-        PRIVATE
-            ${CMAKE_CURRENT_SOURCE_DIR}/include)
-target_link_libraries(admin_client
-        PRIVATE
-            grpc++
-            mq_proto_library
-            rocketmq_interface
-            $<$<PLATFORM_ID:Linux>:-static-libgcc>
-            $<$<PLATFORM_ID:Linux>:-static-libstdc++>)
\ No newline at end of file
diff --git a/src/main/cpp/base/CMakeLists.txt b/src/main/cpp/base/CMakeLists.txt
deleted file mode 100644
index 6a1f749..0000000
--- a/src/main/cpp/base/CMakeLists.txt
+++ /dev/null
@@ -1,57 +0,0 @@
-add_library(base_obj OBJECT)
-target_sources(base_obj
-        PRIVATE
-            GHttpClient.cpp
-            HostInfo.cpp
-            MessageAccessor.cpp
-            MetadataConstants.cpp
-            MixAll.cpp
-            MQMessage.cpp
-            MQMessageExt.cpp
-            Protocol.cpp
-            RateLimiter.cpp
-            TopAddressing.cpp
-            UniqueIdGenerator.cpp
-            UtilAll.cpp)
-target_include_directories(base_obj
-        PUBLIC
-            ${CMAKE_CURRENT_SOURCE_DIR}/include)
-target_link_libraries(base_obj
-        PUBLIC
-            absl::flat_hash_set
-            absl::flat_hash_map
-            absl::random_random
-            absl::synchronization
-            absl::strings
-            absl::time
-            crypto
-            fmt
-            grpc++
-            logger_library
-            ssl
-            re2::re2
-            uv_a
-            zlib)
-
-add_library(base_library
-        STATIC
-            $<TARGET_OBJECTS:base_obj>)
-target_include_directories(base_library
-        PUBLIC
-            ${CMAKE_CURRENT_SOURCE_DIR}/include)
-target_link_libraries(base_library
-        PUBLIC
-            absl::flat_hash_set
-            absl::flat_hash_map
-            absl::random_random
-            absl::synchronization
-            absl::strings
-            fmt
-            grpc++
-            logger_library
-            re2::re2
-            rocketmq_interface
-            spdlog::spdlog_header_only
-            uv_a
-            zlib)
-add_subdirectory(mocks)
\ No newline at end of file
diff --git a/src/main/cpp/base/mocks/CMakeLists.txt b/src/main/cpp/base/mocks/CMakeLists.txt
deleted file mode 100644
index 8ca2461..0000000
--- a/src/main/cpp/base/mocks/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-add_library(base_mocks INTERFACE)
-target_include_directories(base_mocks INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/include)
-target_link_libraries(base_mocks
-        INTERFACE
-            base_library
-            gmock)
\ No newline at end of file
diff --git a/src/main/cpp/client/CMakeLists.txt b/src/main/cpp/client/CMakeLists.txt
deleted file mode 100644
index f01219b..0000000
--- a/src/main/cpp/client/CMakeLists.txt
+++ /dev/null
@@ -1,63 +0,0 @@
-add_library(client_obj OBJECT)
-target_sources(client_obj
-        PRIVATE
-            ClientConfigImpl.cpp
-            ClientManagerImpl.cpp
-            ClientManagerFactory.cpp
-            LogInterceptorFactory.cpp
-            LogInterceptor.cpp
-            TopicAssignmentInfo.cpp
-            RpcClientImpl.cpp
-            Signature.cpp
-            TlsHelper.cpp
-            TopicPublishInfo.cpp
-            TracingUtility.cpp)
-target_include_directories(client_obj
-        PUBLIC
-            ${CMAKE_BINARY_DIR}/generated/third_party/opentelemetry-proto
-            ${CMAKE_CURRENT_SOURCE_DIR}/include)
-target_link_libraries(client_obj
-        PUBLIC
-            admin_library
-            crc_library
-            crypto
-            scheduler_library
-            ssl
-            ThreadPool
-        PRIVATE
-            gtest)
-if (ENABLE_TRACING)
-    target_link_libraries(client_obj
-        PUBLIC
-            opentelemetry_trace
-            opentelemetry_exporter_otprotocol)
-endif ()
-
-add_library(client_library
-        STATIC
-            $<TARGET_OBJECTS:client_obj>)
-
-target_include_directories(client_library
-        PUBLIC
-            ${CMAKE_BINARY_DIR}/generated/third_party/opentelemetry-proto
-            ${CMAKE_CURRENT_SOURCE_DIR}/include)
-
-target_link_libraries(client_library
-        PUBLIC
-            admin_library
-            crc_library
-            crypto
-            mq_proto_library
-            scheduler_library
-            ssl
-            ThreadPool)
-if (ENABLE_TRACING)
-    target_link_libraries(client_library
-        PUBLIC
-            opentelemetry_trace
-            opentelemetry_exporter_otprotocol)
-endif ()
-
-if (BUILD_TESTS)
-    add_subdirectory(mocks)
-endif()
diff --git a/src/main/cpp/client/mocks/CMakeLists.txt b/src/main/cpp/client/mocks/CMakeLists.txt
deleted file mode 100644
index 0211351..0000000
--- a/src/main/cpp/client/mocks/CMakeLists.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-add_library(client_mocks RpcClientMock.cpp)
-target_include_directories(client_mocks
-        INTERFACE
-            ${CMAKE_CURRENT_SOURCE_DIR}/include)
-target_link_libraries(client_mocks
-        PUBLIC
-            gmock
-            client_library
-            mq_proto_library)
\ No newline at end of file
diff --git a/src/main/cpp/concurrent/CMakeLists.txt b/src/main/cpp/concurrent/CMakeLists.txt
deleted file mode 100644
index d2c11ba..0000000
--- a/src/main/cpp/concurrent/CMakeLists.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-add_library(countdown_latch_obj OBJECT)
-target_sources(countdown_latch_obj PRIVATE CountdownLatch.cpp)
-target_include_directories(countdown_latch_obj
-        PUBLIC
-            ${CMAKE_CURRENT_SOURCE_DIR}/include)
-target_link_libraries(countdown_latch_obj
-        PUBLIC absl::strings
-        PUBLIC absl::base
-        PUBLIC absl::synchronization
-        PUBLIC base_library
-        PRIVATE spdlog::spdlog_header_only)
-
-add_library(countdown_latch_library STATIC $<TARGET_OBJECTS:countdown_latch_obj>)
\ No newline at end of file
diff --git a/src/main/cpp/log/CMakeLists.txt b/src/main/cpp/log/CMakeLists.txt
deleted file mode 100644
index 95351ce..0000000
--- a/src/main/cpp/log/CMakeLists.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-add_library(logger_obj OBJECT)
-target_sources(logger_obj
-        PRIVATE
-            LoggerImpl.cpp)
-target_link_libraries(logger_obj
-        PUBLIC
-            rocketmq_interface
-            ghc_filesystem
-            spdlog::spdlog_header_only)
-target_include_directories(logger_obj
-        PUBLIC
-            ${CMAKE_CURRENT_SOURCE_DIR}/include)
-
-add_library(logger_library
-        STATIC
-            $<TARGET_OBJECTS:logger_obj>)
-target_include_directories(logger_library
-        PUBLIC
-            ${CMAKE_CURRENT_SOURCE_DIR}/include)
-target_link_libraries(logger_library
-        PUBLIC
-            rocketmq_interface
-            ghc_filesystem
-            spdlog::spdlog_header_only)
\ No newline at end of file
diff --git a/src/main/cpp/rocketmq/CMakeLists.txt b/src/main/cpp/rocketmq/CMakeLists.txt
deleted file mode 100644
index e451fa1..0000000
--- a/src/main/cpp/rocketmq/CMakeLists.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-add_library(rocketmq_obj OBJECT)
-target_sources(rocketmq_obj
-        PRIVATE
-            AsyncReceiveMessageCallback.cpp
-            SendCallbacks.cpp
-            AwaitPullCallback.cpp
-            ClientImpl.cpp
-            ConsumeMessageService.cpp
-            ConsumeStandardMessageService.cpp
-            ConsumeFifoMessageService.cpp
-            CredentialsProvider.cpp
-            DefaultMQProducer.cpp
-            ProducerImpl.cpp
-            DefaultMQPushConsumer.cpp
-            PushConsumerImpl.cpp
-            DefaultMQPullConsumer.cpp
-            PullConsumerImpl.cpp
-            FilterExpression.cpp
-            MessageGroupQueueSelector.cpp
-            ProcessQueueImpl.cpp
-            TransactionImpl.cpp)
-target_include_directories(rocketmq_obj
-        PUBLIC
-            ${CMAKE_CURRENT_SOURCE_DIR}/include)
-target_link_libraries(rocketmq_obj
-        PUBLIC
-            client_library
-            logger_library
-            thread_pool)
-
-add_library(rocketmq_library
-        STATIC
-            $<TARGET_OBJECTS:rocketmq_obj>)
-target_include_directories(rocketmq_library
-        PUBLIC
-            ${CMAKE_CURRENT_SOURCE_DIR}/include)
-target_link_libraries(rocketmq_library
-        PUBLIC
-            client_library
-            logger_library)
-
-add_subdirectory(mocks)
\ No newline at end of file
diff --git a/src/main/cpp/rocketmq/mocks/CMakeLists.txt b/src/main/cpp/rocketmq/mocks/CMakeLists.txt
deleted file mode 100644
index 3374fd4..0000000
--- a/src/main/cpp/rocketmq/mocks/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-add_library(rocketmq_mocks INTERFACE)
-target_include_directories(rocketmq_mocks
-        INTERFACE
-            ${CMAKE_CURRENT_SOURCE_DIR}/include)
-target_link_libraries(rocketmq_mocks
-        INTERFACE
-            rocketmq_library
-            gmock)
\ No newline at end of file
diff --git a/src/main/cpp/scheduler/CMakeLists.txt b/src/main/cpp/scheduler/CMakeLists.txt
deleted file mode 100644
index d3bf794..0000000
--- a/src/main/cpp/scheduler/CMakeLists.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-add_library(scheduler_obj OBJECT)
-target_sources(scheduler_obj
-        PRIVATE
-            Scheduler.cpp)
-target_include_directories(scheduler_obj
-        PUBLIC
-            ${CMAKE_CURRENT_SOURCE_DIR}/include)
-target_link_libraries(scheduler_obj
-        PUBLIC
-            base_library
-            countdown_latch_library
-            thread_pool)
-
-add_library(scheduler_library
-        STATIC
-            $<TARGET_OBJECTS:scheduler_obj>)
-target_include_directories(scheduler_library
-        PUBLIC
-            ${CMAKE_CURRENT_SOURCE_DIR}/include)
-target_link_libraries(scheduler_library
-        PUBLIC
-            base_library
-            countdown_latch_library
-            thread_pool)
\ No newline at end of file
diff --git a/src/test/cpp/it/CMakeLists.txt b/src/test/cpp/it/CMakeLists.txt
deleted file mode 100644
index 9d48d3a..0000000
--- a/src/test/cpp/it/CMakeLists.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-add_executable(client_instance_test ClientInstanceTest.cpp)
-target_link_libraries(client_instance_test
-        PRIVATE
-            client_library
-            gtest_main)
-add_test(it_client_instance client_instance_test)
-
-add_executable(rpc_client_test RpcClientTest.cpp)
-target_link_libraries(rpc_client_test
-        PRIVATE
-            client_library
-            credentials_observable_mock
-            rpc_client_mock
-            gtest_main)
-add_test(it_rpc_client_2 rpc_client_test)
-
-add_executable(top_addressing_test TopAddressingTest.cpp)
-target_link_libraries(top_addressing_test
-        PRIVATE
-            base_library
-            gtest_main)
-add_test(it_top_addressing top_addressing_test)
-
-
-add_executable(topic_publish_info_test TopicPublishInfoTest.cpp)
-target_link_libraries(topic_publish_info_test
-        PRIVATE
-            client_library
-            credentials_observable_mock
-            gtest_main)
-add_test(it_topic_publish_info topic_publish_info_test)
-
-add_executable(default_push_consumer_test DefaultMQPushConsumerIntegrationTest.cpp)
-target_link_libraries(default_push_consumer_test
-        PRIVATE
-            rocketmq_library
-            gtest_main)
-add_test(it_default_push_consumer default_push_consumer_test)
\ No newline at end of file
diff --git a/src/test/cpp/ut/CMakeLists.txt b/src/test/cpp/ut/CMakeLists.txt
deleted file mode 100644
index b5efbd2..0000000
--- a/src/test/cpp/ut/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-add_subdirectory(base)
-add_subdirectory(concurrent)
-add_subdirectory(scheduler)
-add_subdirectory(client)
-add_subdirectory(grpc)
-add_subdirectory(rocketmq)
-add_subdirectory(logger)
-add_subdirectory(admin)
\ No newline at end of file
diff --git a/src/test/cpp/ut/admin/CMakeLists.txt b/src/test/cpp/ut/admin/CMakeLists.txt
deleted file mode 100644
index d746bef..0000000
--- a/src/test/cpp/ut/admin/CMakeLists.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-add_executable(admin_server_test AdminServerTest.cpp)
-target_link_libraries(admin_server_test
-        PRIVATE
-            gtest_main
-            admin_library
-        )
\ No newline at end of file
diff --git a/src/test/cpp/ut/base/CMakeLists.txt b/src/test/cpp/ut/base/CMakeLists.txt
deleted file mode 100644
index b175c24..0000000
--- a/src/test/cpp/ut/base/CMakeLists.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-add_executable(mix_all_test MixAllTest.cpp)
-target_link_libraries(mix_all_test
-        PRIVATE
-            base_library
-            gtest_main)
-
-add_executable(util_all_test UtilAllTest.cpp)
-target_link_libraries(util_all_test
-        PRIVATE
-            base_library
-            spdlog::spdlog
-            absl::base
-            gtest_main)
-
-add_executable(rate_limiter_test RateLimiterTest.cpp)
-target_link_libraries(rate_limiter_test PRIVATE
-            gtest_main
-            base_library)
-
-add_executable(histogram_test HistogramTest.cpp)
-target_link_libraries(histogram_test
-        PRIVATE
-            gtest_main
-            base_library)
-add_test(test_histogram histogram_test)
-
-
-add_executable(unique_id_generator_test UniqueIdGeneratorTest.cpp)
-target_link_libraries(unique_id_generator_test
-        PRIVATE
-            gtest_main
-            base_library)
-add_test(ut_unique_id_generator unique_id_generator_test)
-
-add_executable(ghttp_client_test GHttpClientTest.cpp)
-target_link_libraries(ghttp_client_test
-        PRIVATE
-            base_library
-            gtest_main)
\ No newline at end of file
diff --git a/src/test/cpp/ut/client/CMakeLists.txt b/src/test/cpp/ut/client/CMakeLists.txt
deleted file mode 100644
index 4851bfd..0000000
--- a/src/test/cpp/ut/client/CMakeLists.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-if (ENABLE_TRACING)
-#    add_executable(tracing_utility_test TracingUtilityTest.cpp)
-#    target_link_libraries(tracing_utility_test
-#            PRIVATE
-#            client_library
-#            gtest_main)
-#    add_test(ut_tracing_utility_test tracing_utility_test)
-endif ()
-
-add_executable(tls_helper_test TlsHelperTest.cpp)
-target_link_libraries(tls_helper_test
-        PRIVATE
-            client_library
-            gtest_main)
-
-
-add_executable(rpc_client_unit_test RpcClientTest.cpp)
-target_link_libraries(rpc_client_unit_test
-        PRIVATE
-            client_mocks
-            client_library
-            gtest_main)
-add_test(ut_rpc_client rpc_client_unit_test)
-
-add_executable(client_manager_test ClientManagerTest.cpp)
-target_link_libraries(client_manager_test
-        PRIVATE
-            client_mocks
-            gtest_main)
\ No newline at end of file
diff --git a/src/test/cpp/ut/concurrent/CMakeLists.txt b/src/test/cpp/ut/concurrent/CMakeLists.txt
deleted file mode 100644
index d8960f0..0000000
--- a/src/test/cpp/ut/concurrent/CMakeLists.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-add_executable(countdown_latch_test CountdownLatchTest.cpp)
-target_link_libraries(countdown_latch_test
-        PRIVATE
-        gtest_main
-        countdown_latch_library
-        spdlog)
-add_test(ut_countdown_latch_test countdown_latch_test)
\ No newline at end of file
diff --git a/src/test/cpp/ut/grpc/CMakeLists.txt b/src/test/cpp/ut/grpc/CMakeLists.txt
deleted file mode 100644
index b1fb847..0000000
--- a/src/test/cpp/ut/grpc/CMakeLists.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-add_executable(grpc_thread_pool_test GrpcThreadPoolTest.cpp)
-target_link_libraries(grpc_thread_pool_test
-        PRIVATE
-            grpc
-            base_library
-            gtest_main)
-add_test(ut_grpc_thread_pool grpc_thread_pool_test)
\ No newline at end of file
diff --git a/src/test/cpp/ut/logger/CMakeLists.txt b/src/test/cpp/ut/logger/CMakeLists.txt
deleted file mode 100644
index 00b056d..0000000
--- a/src/test/cpp/ut/logger/CMakeLists.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-add_executable(logger_test LoggerTest.cpp)
-target_link_libraries(logger_test
-        PRIVATE gtest_main
-        PRIVATE logger_library
-        PRIVATE spdlog::spdlog)
\ No newline at end of file
diff --git a/src/test/cpp/ut/rocketmq/CMakeLists.txt b/src/test/cpp/ut/rocketmq/CMakeLists.txt
deleted file mode 100644
index 5c0c44c..0000000
--- a/src/test/cpp/ut/rocketmq/CMakeLists.txt
+++ /dev/null
@@ -1,86 +0,0 @@
-add_library(client_test_interface INTERFACE)
-target_include_directories(client_test_interface
-        INTERFACE
-            ${CMAKE_CURRENT_SOURCE_DIR}/include)
-target_link_libraries(client_test_interface
-        INTERFACE
-            rpc_client_mock
-            gtest_main)
-
-add_executable(default_mq_producer_test DefaultMQProducerTest.cpp)
-target_link_libraries(default_mq_producer_test
-        PRIVATE
-            client_test_interface
-            rocketmq_library)
-add_test(ut_default_mq_producer_test default_mq_producer_test)
-
-add_executable(executor_test ExecutorTest.cpp)
-target_link_libraries(executor_test
-        PRIVATE
-            rocketmq_interface
-            gtest_main)
-
-add_executable(message_test MessageTest.cpp)
-target_link_libraries(message_test
-        PRIVATE
-            rocketmq_library
-            gtest_main)
-
-add_executable(process_queue_test ProcessQueueTest.cpp)
-target_link_libraries(process_queue_test
-        PRIVATE
-            gtest_main
-            base_mocks
-            client_mocks
-            rocketmq_mocks
-            rocketmq_library)
-
-add_executable(ut_credentials_provider CredentialsProviderTest.cpp)
-target_link_libraries(ut_credentials_provider
-        gtest_main
-        rocketmq_library)
-
-add_executable(ut_send_callbacks SendCallbacksTest.cpp)
-target_link_libraries(ut_send_callbacks
-        PRIVATE
-            gtest_main
-            rocketmq_library)
-
-add_executable(consume_message_service ConsumeStandardMessageServiceTest.cpp)
-target_link_libraries(consume_message_service
-        PRIVATE
-            base_mocks
-            gtest_main
-            rocketmq_library
-            rocketmq_mocks)
-
-add_executable(filter_expression_test FilterExpressionTest.cpp)
-target_link_libraries(filter_expression_test
-        PRIVATE
-            gtest_main
-            rocketmq_library)
-
-add_executable(message_group_queue_selector_test MessageGroupQueueSelectorTest.cpp)
-target_link_libraries(message_group_queue_selector_test
-        PRIVATE
-            gtest_main
-            rocketmq_library)
-
-add_executable(sts_credentials_provider_test StsCredentialsProviderImplTest.cpp)
-target_link_libraries(sts_credentials_provider_test
-        PRIVATE
-            base_mocks
-            gtest_main
-            rocketmq_library)
-
-add_executable(consumer_test ConsumerTest.cpp)
-target_link_libraries(consumer_test
-        PRIVATE
-            rocketmq_mocks
-            gtest_main)
-
-add_executable(await_pull_callback_test AwaitPullCallbackTest.cpp)
-target_link_libraries(await_pull_callback_test
-        PRIVATE
-            rocketmq_library
-            gtest_main)
\ No newline at end of file
diff --git a/src/test/cpp/ut/scheduler/CMakeLists.txt b/src/test/cpp/ut/scheduler/CMakeLists.txt
deleted file mode 100644
index 34d6064..0000000
--- a/src/test/cpp/ut/scheduler/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-add_executable(scheduler_test SchedulerTest.cpp)
-target_link_libraries(scheduler_test
-        PRIVATE
-            absl::synchronization
-            base_library
-            gtest_main
-            scheduler_library)
-add_test(ut_scheduler_test scheduler_test)
\ No newline at end of file
