mirror of
https://github.com/Z3Prover/z3
synced 2025-06-25 15:23: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 --enable_bzlmod
|
||||||
common --noenable_workspace
|
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.
|
# Use C++20.
|
||||||
build --cxxopt=-std=c++20
|
build --cxxopt=-std=c++20
|
||||||
build --host_cxxopt=-std=c++20
|
build --host_cxxopt=-std=c++20
|
||||||
|
|
38
BUILD.bazel
38
BUILD.bazel
|
@ -17,10 +17,42 @@ filegroup(
|
||||||
)
|
)
|
||||||
|
|
||||||
cmake(
|
cmake(
|
||||||
name = "z3",
|
name = "z3_dynamic",
|
||||||
generate_args = ["-G Ninja"],
|
generate_args = [
|
||||||
|
"-G Ninja",
|
||||||
|
"-D Z3_EXPORTED_TARGETS=", # prevents installation, leaving symlinks between dylibs intact on copy
|
||||||
|
],
|
||||||
lib_source = ":all_files",
|
lib_source = ":all_files",
|
||||||
out_binaries = ["z3"],
|
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"],
|
visibility = ["//visibility:public"],
|
||||||
)
|
)
|
||||||
|
|
|
@ -17,3 +17,5 @@ bazel_dep(
|
||||||
version = "8.0.1",
|
version = "8.0.1",
|
||||||
dev_dependency = True,
|
dev_dependency = True,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
bazel_dep(name = "platforms", version = "0.0.11")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue