3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-06-25 15:23:41 +00:00
z3/BUILD.bazel
2025-06-03 11:51:18 +02:00

58 lines
1.6 KiB
Text

load("@rules_foreign_cc//foreign_cc:defs.bzl", "cmake")
load("@rules_license//rules:license.bzl", "license")
package(default_applicable_licenses = [":license"])
license(
name = "license",
license_kinds = ["@rules_license//licenses/spdx:MIT"],
license_text = "LICENSE.txt",
)
exports_files(["LICENSE.txt"])
filegroup(
name = "all_files",
srcs = glob(["**"]),
)
cmake(
name = "z3_dynamic",
generate_args = [
"-G Ninja",
"-D Z3_EXPORTED_TARGETS=", # prevents installation, leaving symlinks between dylibs intact on copy
],
lib_source = ":all_files",
out_binaries = ["z3"],
out_shared_libs = select({
"@platforms//os:linux": ["libz3.so"],
# "@platforms//os:osx": ["libz3.dylib"], # FIXME: this is not working, libz3<version>.dylib is not copied
# "@platforms//os:windows": ["z3.dll"], # TODO: test this
"//conditions:default": ["@platforms//:incompatible"],
}),
visibility = ["//visibility:public"],
)
cmake(
name = "z3_static",
generate_args = [
"-G Ninja",
"-D BUILD_SHARED_LIBS=OFF",
"-D Z3_BUILD_LIBZ3_SHARED=OFF",
],
lib_source = ":all_files",
out_binaries = ["z3"],
out_static_libs = select({
"@platforms//os:linux": ["libz3.a"],
"@platforms//os:osx": ["libz3.a"],
# "@platforms//os:windows": ["z3.lib"], # TODO: test this
"//conditions:default": ["@platforms//:incompatible"],
}),
visibility = ["//visibility:public"],
)
alias(
name = "z3",
actual = ":z3_dynamic",
visibility = ["//visibility:public"],
)