milvus/internal/core/src/CMakeLists.txt
Rijin-N a05a37a583
enhance: GCS native support (GCS implemented using Google Cloud Storage libraries) (#36214)
Native support for Google cloud storage using the Google Cloud Storage
libraries. Authentication is performed using GCS service account
credentials JSON.

Currently, Milvus supports Google Cloud Storage using S3-compatible APIs
via the AWS SDK. This approach has the following limitations:

1. Overhead: Translating requests between S3-compatible APIs and GCS can
introduce additional overhead.
2. Compatibility Limitations: Some features of the original S3 API may
not fully translate or work as expected with GCS.

To address these limitations, This enhancement is needed.

Related Issue: #36212
2024-09-30 13:23:32 +08:00

94 lines
2.6 KiB
CMake

# Licensed to the LF AI & Data foundation 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.
if(MILVUS_GPU_VERSION STREQUAL "ON")
project(core CXX C CUDA)
else()
project(core CXX C)
endif()
option( EMBEDDED_MILVUS "Enable embedded Milvus" OFF )
if ( EMBEDDED_MILVUS )
add_compile_definitions( EMBEDDED_MILVUS )
endif()
include_directories(${MILVUS_ENGINE_SRC})
include_directories(${MILVUS_THIRDPARTY_SRC})
include_directories(
${KNOWHERE_INCLUDE_DIR}
${SIMDJSON_INCLUDE_DIR}
${TANTIVY_INCLUDE_DIR}
${CONAN_INCLUDE_DIRS}
)
add_subdirectory( pb )
add_subdirectory( log )
add_subdirectory( config )
add_subdirectory( common )
add_subdirectory( monitor )
add_subdirectory( storage )
add_subdirectory( index )
add_subdirectory( query )
add_subdirectory( segcore )
add_subdirectory( indexbuilder )
add_subdirectory( clustering )
add_subdirectory( exec )
add_subdirectory( bitset )
add_subdirectory( futures )
milvus_add_pkg_config("milvus_core")
add_library(milvus_core SHARED
$<TARGET_OBJECTS:milvus_pb>
$<TARGET_OBJECTS:milvus_log>
$<TARGET_OBJECTS:milvus_config>
$<TARGET_OBJECTS:milvus_common>
$<TARGET_OBJECTS:milvus_monitor>
$<TARGET_OBJECTS:milvus_storage>
$<TARGET_OBJECTS:milvus_index>
$<TARGET_OBJECTS:milvus_query>
$<TARGET_OBJECTS:milvus_segcore>
$<TARGET_OBJECTS:milvus_indexbuilder>
$<TARGET_OBJECTS:milvus_clustering>
$<TARGET_OBJECTS:milvus_exec>
$<TARGET_OBJECTS:milvus_bitset>
$<TARGET_OBJECTS:milvus_futures>
)
set(LINK_TARGETS
boost_bitset_ext
simdjson
tantivy_binding
knowhere
${OpenMP_CXX_FLAGS}
${CONAN_LIBS})
if(USE_OPENDAL)
set(LINK_TARGETS ${LINK_TARGETS} opendal)
endif()
if(DEFINED AZURE_BUILD_DIR)
set(LINK_TARGETS ${LINK_TARGETS} azure_blob_chunk_manager)
endif()
if (ENABLE_GCP_NATIVE)
set(LINK_TARGETS ${LINK_TARGETS} gcp-native-storage)
endif()
target_link_libraries(milvus_core ${LINK_TARGETS})
install(TARGETS milvus_core DESTINATION "${CMAKE_INSTALL_LIBDIR}")