2023-08-18 18:32:19 +08:00
|
|
|
from conans import ConanFile
|
2022-12-13 11:27:21 +08:00
|
|
|
|
|
|
|
|
|
|
|
class MilvusConan(ConanFile):
|
|
|
|
settings = "os", "compiler", "build_type", "arch"
|
|
|
|
requires = (
|
2023-11-16 16:36:19 +08:00
|
|
|
"rocksdb/6.29.5@milvus/dev",
|
2023-08-03 17:29:07 +08:00
|
|
|
"boost/1.82.0",
|
2023-11-01 09:00:14 +08:00
|
|
|
"onetbb/2021.9.0",
|
2023-03-27 18:22:02 +08:00
|
|
|
"nlohmann_json/3.11.2",
|
2023-06-20 10:00:41 +08:00
|
|
|
"zstd/1.5.4",
|
2023-02-16 17:26:35 +08:00
|
|
|
"lz4/1.9.4",
|
|
|
|
"snappy/1.1.9",
|
|
|
|
"lzo/2.10",
|
2023-05-26 09:41:27 +08:00
|
|
|
"arrow/11.0.0",
|
2023-10-08 19:17:31 +08:00
|
|
|
"openssl/3.1.2",
|
2022-12-13 11:27:21 +08:00
|
|
|
"aws-sdk-cpp/1.9.234",
|
2023-05-29 01:05:28 +08:00
|
|
|
"googleapis/cci.20221108",
|
2022-12-13 11:27:21 +08:00
|
|
|
"benchmark/1.7.0",
|
|
|
|
"gtest/1.8.1",
|
2023-03-21 16:31:57 +08:00
|
|
|
"protobuf/3.21.4",
|
2022-12-13 11:27:21 +08:00
|
|
|
"rapidxml/1.13",
|
|
|
|
"yaml-cpp/0.7.0",
|
|
|
|
"marisa/0.2.6",
|
|
|
|
"zlib/1.2.13",
|
2023-01-17 14:53:42 +08:00
|
|
|
"libcurl/7.86.0",
|
2023-02-16 17:26:35 +08:00
|
|
|
"glog/0.6.0",
|
2023-05-24 13:05:26 +08:00
|
|
|
"fmt/9.1.0",
|
2023-02-16 17:26:35 +08:00
|
|
|
"gflags/2.2.2",
|
|
|
|
"double-conversion/3.2.1",
|
|
|
|
"libevent/2.1.12",
|
|
|
|
"libdwarf/20191104",
|
|
|
|
"libiberty/9.1.0",
|
|
|
|
"libsodium/cci.20220430",
|
|
|
|
"xsimd/9.0.1",
|
2023-02-20 17:08:25 +08:00
|
|
|
"xz_utils/5.4.0",
|
2023-04-03 19:22:23 +08:00
|
|
|
"prometheus-cpp/1.1.0",
|
2023-05-04 19:46:38 +08:00
|
|
|
"re2/20230301",
|
2023-12-01 13:50:32 +08:00
|
|
|
"folly/2023.10.30.04@milvus/dev",
|
2023-05-29 01:05:28 +08:00
|
|
|
"google-cloud-cpp/2.5.0@milvus/dev",
|
2023-03-21 16:31:57 +08:00
|
|
|
"opentelemetry-cpp/1.8.1.1@milvus/dev",
|
2023-07-13 15:34:33 +08:00
|
|
|
"librdkafka/1.9.1",
|
2022-12-13 11:27:21 +08:00
|
|
|
)
|
2023-02-07 16:12:04 +08:00
|
|
|
generators = ("cmake", "cmake_find_package")
|
2022-12-13 11:27:21 +08:00
|
|
|
default_options = {
|
2023-07-13 15:34:33 +08:00
|
|
|
"librdkafka:shared": True,
|
2023-07-21 13:21:00 +08:00
|
|
|
"librdkafka:zstd": True,
|
2023-08-29 13:58:25 +08:00
|
|
|
"librdkafka:ssl": True,
|
|
|
|
"librdkafka:sasl": True,
|
2022-12-13 11:27:21 +08:00
|
|
|
"rocksdb:shared": True,
|
2023-06-15 15:12:39 +08:00
|
|
|
"rocksdb:with_zstd": True,
|
2022-12-13 11:27:21 +08:00
|
|
|
"arrow:parquet": True,
|
|
|
|
"arrow:compute": True,
|
2023-08-28 18:04:26 +08:00
|
|
|
"arrow:with_re2": True,
|
2022-12-13 11:27:21 +08:00
|
|
|
"arrow:with_zstd": True,
|
2023-08-28 18:04:26 +08:00
|
|
|
"arrow:with_boost": True,
|
|
|
|
"arrow:with_thrift": True,
|
2022-12-16 18:27:24 +08:00
|
|
|
"arrow:with_jemalloc": True,
|
2023-08-28 18:04:26 +08:00
|
|
|
"arrow:shared": False,
|
2022-12-13 11:27:21 +08:00
|
|
|
"aws-sdk-cpp:text-to-speech": False,
|
|
|
|
"aws-sdk-cpp:transfer": False,
|
|
|
|
"gtest:build_gmock": False,
|
2023-03-21 16:31:57 +08:00
|
|
|
"boost:without_locale": False,
|
2023-07-27 19:49:02 +08:00
|
|
|
"glog:with_gflags": True,
|
|
|
|
"glog:shared": True,
|
2023-04-14 17:56:29 +08:00
|
|
|
"prometheus-cpp:with_pull": False,
|
2023-06-02 14:56:32 +08:00
|
|
|
"fmt:header_only": True,
|
2023-08-18 18:32:19 +08:00
|
|
|
"onetbb:tbbmalloc": False,
|
2023-08-04 18:37:08 +08:00
|
|
|
"onetbb:tbbproxy": False,
|
2023-08-18 18:32:19 +08:00
|
|
|
"openblas:shared": True,
|
|
|
|
"openblas:dynamic_arch": True,
|
2022-12-13 11:27:21 +08:00
|
|
|
}
|
|
|
|
|
2022-12-19 15:05:24 +08:00
|
|
|
def configure(self):
|
2023-02-03 17:21:53 +08:00
|
|
|
if self.settings.os == "Macos":
|
2023-03-21 16:31:57 +08:00
|
|
|
# Macos M1 cannot use jemalloc
|
2023-02-03 17:21:53 +08:00
|
|
|
if self.settings.arch not in ("x86_64", "x86"):
|
2023-02-16 17:26:35 +08:00
|
|
|
del self.options["folly"].use_sse4_2
|
|
|
|
|
|
|
|
self.options["arrow"].with_jemalloc = False
|
2023-08-18 18:32:19 +08:00
|
|
|
if self.settings.arch == "armv8":
|
|
|
|
self.options["openblas"].dynamic_arch = False
|
|
|
|
|
|
|
|
def requirements(self):
|
|
|
|
if self.settings.os != "Macos":
|
|
|
|
# MacOS does not need openblas
|
|
|
|
self.requires("openblas/0.3.23@milvus/dev")
|
2022-12-19 15:05:24 +08:00
|
|
|
|
2022-12-13 11:27:21 +08:00
|
|
|
def imports(self):
|
|
|
|
self.copy("*.dylib", "../lib", "lib")
|
|
|
|
self.copy("*.dll", "../lib", "lib")
|
|
|
|
self.copy("*.so*", "../lib", "lib")
|
|
|
|
self.copy("*", "../bin", "bin")
|
2023-03-21 16:31:57 +08:00
|
|
|
self.copy("*.proto", "../include", "include")
|