mirror of
https://github.com/Z3Prover/z3
synced 2025-06-24 23:03:41 +00:00
Expose z3_static target for Bazel build (#7660)
This commit is contained in:
parent
e2e54527db
commit
bcedb66911
3 changed files with 44 additions and 3 deletions
7
.bazelrc
7
.bazelrc
|
@ -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
|
||||
|
|
38
BUILD.bazel
38
BUILD.bazel
|
@ -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"],
|
||||
)
|
||||
|
|
|
@ -17,3 +17,5 @@ bazel_dep(
|
|||
version = "8.0.1",
|
||||
dev_dependency = True,
|
||||
)
|
||||
|
||||
bazel_dep(name = "platforms", version = "0.0.11")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue