3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-15 05:18:44 +00:00
z3/src
Dan Liew 2cb4223979 [CMake] Support including Git hash and description into the build.
CMake will automatically pick up changes in git's HEAD so that
the necessary code is rebuilt when the build system is invoked.

Two new options `INCLUDE_GIT_HASH` and `INCLUDE_GIT_DESCRIBE` have been
added that enable/disable including the git hash and the output of `git
describe` respectively. By default if the source tree is a git
repository both options are on, otherwise they are false by default.

To support the `Z3GITHASH` macro a different implementation is used from
the old build system. In that build system the define is passed on the
command line. This would not work well for CMake because CMake
conservatively (and correctly) rebuilds *everything* if the flags given
to the compiler change. This would result in the entire project being
rebuilt everytime git's `HEAD` changed.  Instead in this implementation
a CMake specific version of `version.h.in` (named `version.h.cmake.in`)
is added that uses the `#cmakedefine` feature of CMake's
`configure_file()` command to define `Z3GITHASH` if it is available and
not define it otherwise. This way only object files that depend on
`version.h` get re-built rather than the whole project.

It is unfortunate that the build systems now have different `version.h`
file templates. However they are very simple and I don't want to
modify how templates are handled in the python/Makefile build system.
2017-03-12 22:11:59 +00:00
..
ackermannization Adding translation to ackr_model_converter. 2016-06-06 18:06:45 +01:00
api z3py: With tactical should not try to use context as a parameter 2017-03-11 16:09:25 -08:00
ast fixing build break, adding fixedpoint object to C++ API 2017-03-10 22:52:55 +01:00
cmd_context fixing build break, addressing #935 2017-03-11 18:41:36 +01:00
duality address warnings from #836 2016-12-10 13:14:36 +01:00
interp fix build failures under linux 2016-07-09 13:28:39 -07:00
math remove polynomial factorization as suggested by issue #852 2017-01-09 21:30:54 -08:00
model ensure evaluation of array equalities is enabled for external facing evaluator. Issue #917 2017-03-09 05:29:56 +01:00
muz fix memory leaks from cancellations 2017-01-15 20:09:27 -08:00
nlsat fixing unsat core extraction for tactics 2016-11-02 14:14:55 +00:00
opt fix bug for bit-vector optimization. Issue #928 2017-03-08 10:19:35 +01:00
parsers Added filenames to error messages for when we have more than one file. 2017-01-16 15:43:13 +00:00
qe remove nested booleans during pre-processing. issue #837 2016-12-11 05:16:31 +01:00
sat Merge branch 'master' of https://github.com/Z3Prover/z3 2017-02-02 10:19:21 -08:00
shell fix bug in lexicographic handling in maxres: previous assumptions were not committed in corner cases 2017-02-02 10:19:11 -08:00
smt move restore relevancy until after literals have been replayed 2017-03-12 08:32:06 +01:00
solver include recursive functions to models. Issue #898 2017-03-08 21:41:24 -08:00
tactic check that formulas are in lira before invoking qsat. Issue #919 2017-03-09 05:52:46 +01:00
test Removed polynomial factorization test cases. Relates to #852 and fixes #865. 2017-01-10 14:02:59 +00:00
util [CMake] Support including Git hash and description into the build. 2017-03-12 22:11:59 +00:00