3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-06-25 07:13:41 +00:00

Expose z3_static target for Bazel build (#7660)

This commit is contained in:
Nikhil Idiculla 2025-06-03 02:51:18 -07:00 committed by GitHub
parent e2e54527db
commit bcedb66911
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 44 additions and 3 deletions

View file

@ -2,6 +2,13 @@
common --enable_bzlmod
common --noenable_workspace
# Specifies...
# --config=windows on Windows hosts
# --config=linux on Linux hosts
# --config=macos on macOS hosts
# NOTE: We assume our host and target platforms are identical.
common --enable_platform_specific_config
# Use C++20.
build --cxxopt=-std=c++20
build --host_cxxopt=-std=c++20

View file

@ -17,10 +17,42 @@ filegroup(
)
cmake(
name = "z3",
generate_args = ["-G Ninja"],
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 = ["libz3.so"],
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"],
)

View file

@ -17,3 +17,5 @@ bazel_dep(
version = "8.0.1",
dev_dependency = True,
)
bazel_dep(name = "platforms", version = "0.0.11")