#bazel #aws-sdk-cpp #bazel-rules
Вопрос:
Есть ли способ сделать это? Я пытаюсь создать части AWS SDK (s3 и rds) для использования в моем проекте Bazel. Я слышал, что rules_foreign_cc
это можно использовать для интеграции проектов CMake с Bazel.
Ответ №1:
load("@rules_foreign_cc//foreign_cc:repositories.bzl", "rules_foreign_cc_dependencies")
rules_foreign_cc_dependencies()
AWS_BUILD = """
filegroup(
name = "sdk",
srcs = glob(["**"]),
visibility = ["//visibility:public"],
)
"""
new_git_repository(
name = "aws_sdk",
build_file_content = _ALL_CONTENT,
commit = "2550901e1011e0ee1dc1bae44b42e1a2c6947c24",
recursive_init_submodules = True,
remote = "https://github.com/aws/aws-sdk-cpp",
shallow_since = "1628277923 0000",
)
Затем вы можете ссылаться на двоичные файлы из файла СБОРКИ. Просто создайте aws-sdk с помощью cmake.
load("@rules_foreign_cc//foreign_cc:defs.bzl", "cmake")
cmake(
name = "aws_sdk",
cache_entries = {
"CMAKE_BUILD_TYPE": "Release",
"BUILD_ONLY": "s3",
"BUILD_SHARED_LIBS": "ON",
"ENABLE_TESTING": "OFF",
},
install = True,
lib_source = "@aws_sdk//:sdk",
out_shared_libs = [
"libaws-cpp-sdk-core.so",
"libaws-cpp-sdk-s3.so",
]
)