mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 17:15:31 +00:00
[CMake] Implement support for building the .NET bindings.
When using Mono support for installing/uninstalling the bindings is also implemented. For Windows install/uninstall is not implemented because the python build system does not implement it and Microsoft's documentation (https://msdn.microsoft.com/en-us/library/dkkx7f79.aspx) says that the gacutil should only be used for development and not for production. For now a warning is just emitted if ``INSTALL_DOTNET_BINDINGS`` is enabled and the .NET toolchain is native Windows. Someone with better knowledge of how to correctly install assemblies under Windows should implement this or remove this message. A notable difference from the Python build system is the ``/linkresource:`` flag is not passed to the C# compiler. This means a user of the .NET bindings will have to copy the Z3 library (i.e. ``libz3.dll``) to their application directory manually. The reason for this difference is that using this flag requires the working directory to be the directory containing the Z3 library (i.e. ``libz3.dll``) but setting this up with multi-configuration generators doesn't currently seem possible.
This commit is contained in:
parent
6a2a8e06d7
commit
20d3bf4d0c
8 changed files with 390 additions and 0 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -84,3 +84,5 @@ src/CMakeLists.txt
|
|||
src/*/CMakeLists.txt
|
||||
src/*/*/CMakeLists.txt
|
||||
src/*/*/*/CMakeLists.txt
|
||||
src/api/dotnet/cmake_install_gac.cmake.in
|
||||
src/api/dotnet/cmake_uninstall_gac.cmake.in
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue