* First steps toward adding Julia bindings
* Simplifications
* Streamlining
* Friends of tactic and probe
* Add missing functions
* Update azure-pipelines.yml for Azure Pipelines
* Update azure-pipelines.yml for Azure Pipelines
* Update azure-pipelines.yml for Azure Pipelines
* Update azure-pipelines.yml for Azure Pipelines
* Changes for CxxWrap v0.9.0
* Wrap enumeration and tuple sort
* Wrap z3::fixedpoint
* Wrap z3::optimize
* Wrap missing functions
* Fix aux types
* Add some missing functions
* Revert "Update azure-pipelines.yml for Azure Pipelines"
This reverts commit 5aab9f9240.
* Revert "Update azure-pipelines.yml for Azure Pipelines"
This reverts commit cfccd7ca2c.
* Revert "Update azure-pipelines.yml for Azure Pipelines"
This reverts commit f24740c595.
* Revert "Update azure-pipelines.yml for Azure Pipelines"
This reverts commit 592499eaa0.
* Checkout current version of pipeline
* Build Julia bindings on macOS
* Extract components of algebraic number
* Add type to C API function name
* Remove blank line
* Typo in doc
* Return Z3_ast_vector containing coefficients
Exceptions caught by value incur needless cost in C++, most of them can
be caught by const-reference, especially as nearly none are actually
used. This could allow compiler generate a slightly more efficient code.
Previously CMake was not aware of which headers files the generation
of `gparams_register_modules.cpp` depended on. Consequently this could result
in broken incremental builds if
* Existing headers that declared module description/parameters change.
* New headers are added that declare module description/parameters.
* `.pyg` files that generate header files that declare module
description/parameters change
Now the `z3_add_component()` CMake function has been modifed so that
* All header files that are generated from `.pyg` files are added as
dependencies and are scanned from module description/parameter
declarations. This implicit dependency of `gparams_register_modules.cpp`
depending on other generated header files seems unnecessary complex. We
should revisit this design decision once the Python/Makefile build
system is deprecated.
* The function now takes an optional `EXTRA_REGISTER_MODULE_HEADERS`
argument which allows the headers that declare module
description/paramters to be explicitly listed.
With this information CMake will now regenerate `gparams_register_modules.cpp`
correctly.
This required the `mk_gparams_register_modules_internal()` function to be
changed to take a list of header files rather than a list of component
source directories. The two consumers (CMake and Python/Makefile build
systems) of this function have been modified to work with this change.
This partially fixes#1030.
`contrib/cmake/bootstrap.py` script no longer needs to be executed.
The previous location of the CMake files was a compromise proposed
by @agurfinkel in #461. While this has served us well (allowing progress
to be made) over time limitations of this approach have appeared.
The main problem is that doing many git operations (e.g. pull, rebase)
means the CMake files don't get updated unless the user remembers to
run the script. This can lead to broken and confusing build system
behaviour.
This commit only does the file moving and necessary changes to
`.gitignore`. Other changes will be done in subsequent commits.