2
0
Fork 0
mirror of https://github.com/bazel-contrib/rules_foreign_cc synced 2024-12-04 08:02:31 +00:00
rules_foreign_cc/examples/third_party/curl/BUILD.curl.bazel

62 lines
1.5 KiB
Plaintext
Raw Normal View History

load("@rules_foreign_cc//tools/build_defs:cmake.bzl", "cmake_external")
filegroup(
name = "all_srcs",
srcs = glob(["**"]),
)
_CACHE_ENTRIES = {
"BUILD_CURL_EXE": "off",
"BUILD_SHARED_LIBS": "off",
"CMAKE_PREFIX_PATH": ";$EXT_BUILD_DEPS/openssl",
# TODO: ldap should likely be enabled
"CURL_DISABLE_LDAP": "on",
}
_MACOS_CACHE_ENTRIES = dict(_CACHE_ENTRIES.items() + {
"CMAKE_AR": "",
"CMAKE_C_ARCHIVE_CREATE": "",
}.items())
_LINUX_CACHE_ENTRIES = dict(_CACHE_ENTRIES.items() + {
"CMAKE_C_FLAGS": "-fPIC",
}.items())
cmake_external(
name = "curl",
cache_entries = select({
"@platforms//os:linux": _LINUX_CACHE_ENTRIES,
"@platforms//os:macos": _MACOS_CACHE_ENTRIES,
"//conditions:default": _CACHE_ENTRIES,
}),
cmake_options = select({
"@platforms//os:windows": ["-GNinja"],
"//conditions:default": [],
}),
generate_crosstool_file = False,
lib_source = ":all_srcs",
make_commands = select({
"@platforms//os:windows": [
"ninja",
"ninja install",
],
"//conditions:default": [
"make",
"make install",
],
}),
static_libraries = select({
"@platforms//os:windows": ["libcurl.lib"],
"//conditions:default": ["libcurl.a"],
}),
visibility = ["//visibility:public"],
deps = [
"@zlib//:zlib",
] + select({
"@platforms//os:windows": [],
"//conditions:default": [
"@openssl//:openssl",
],
}),
)