3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-19 01:32:17 +00:00

[CMake] Implement support for building and installing the Java bindings.

I'm not entirely happy with some parts of the implementation

* The default locations for installing ``com.microsoft.z3.jar`` and ``libz3java.so``
  aren't correct.  CMake cache variables have been provided that allow the user to change
  where these get installed.

* The name of ``libz3java.so``. It doesn't conform to the Debian
  packaging guidelines (https://www.debian.org/doc/packaging-manuals/java-policy/x126.html)
  and I have not provided an option to change this.

* The fact that ``SONAME`` and ``VERSION`` are not set on ``libz3java.so``.

These issues should be addressed once we know the correct way to handle
installation.
This commit is contained in:
Dan Liew 2016-04-16 03:52:11 -05:00
parent 3042f0f964
commit 022039535a
3 changed files with 251 additions and 0 deletions

View file

@ -234,4 +234,16 @@ if (BUILD_DOTNET_BINDINGS)
add_subdirectory(api/dotnet)
endif()
################################################################################
# Java bindings
################################################################################
option(BUILD_JAVA_BINDINGS "Build Java bindings for Z3" OFF)
if (BUILD_JAVA_BINDINGS)
if (NOT BUILD_LIBZ3_SHARED)
message(FATAL_ERROR "The Java bindings will not work with a static libz3. "
"You either need to disable BUILD_JAVA_BINDINGS or enable BUILD_LIBZ3_SHARED")
endif()
add_subdirectory(api/java)
endif()
# TODO: Implement support for other bindigns