mirror of
https://github.com/Z3Prover/z3
synced 2026-06-26 18:38:47 +00:00
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. |
||
|---|---|---|
| .. | ||
| fpa | ||
| macros | ||
| normal_forms | ||
| pattern | ||
| proof_checker | ||
| rewriter | ||
| simplifier | ||
| substitution | ||
| act_cache.cpp | ||
| act_cache.h | ||
| arith_decl_plugin.cpp | ||
| arith_decl_plugin.h | ||
| array_decl_plugin.cpp | ||
| array_decl_plugin.h | ||
| ast.cpp | ||
| ast.h | ||
| ast_ll_pp.cpp | ||
| ast_ll_pp.h | ||
| ast_lt.cpp | ||
| ast_lt.h | ||
| ast_pp.h | ||
| ast_pp_util.cpp | ||
| ast_pp_util.h | ||
| ast_printer.cpp | ||
| ast_printer.h | ||
| ast_smt2_pp.cpp | ||
| ast_smt2_pp.h | ||
| ast_smt_pp.cpp | ||
| ast_smt_pp.h | ||
| ast_trail.h | ||
| ast_translation.cpp | ||
| ast_translation.h | ||
| ast_util.cpp | ||
| ast_util.h | ||
| bv_decl_plugin.cpp | ||
| bv_decl_plugin.h | ||
| CMakeLists.txt | ||
| datatype_decl_plugin.cpp | ||
| datatype_decl_plugin.h | ||
| decl_collector.cpp | ||
| decl_collector.h | ||
| dl_decl_plugin.cpp | ||
| dl_decl_plugin.h | ||
| expr2polynomial.cpp | ||
| expr2polynomial.h | ||
| expr2var.cpp | ||
| expr2var.h | ||
| expr_abstract.cpp | ||
| expr_abstract.h | ||
| expr_delta_pair.h | ||
| expr_functors.cpp | ||
| expr_functors.h | ||
| expr_map.cpp | ||
| expr_map.h | ||
| expr_stat.cpp | ||
| expr_stat.h | ||
| expr_substitution.cpp | ||
| expr_substitution.h | ||
| for_each_ast.cpp | ||
| for_each_ast.h | ||
| for_each_expr.cpp | ||
| for_each_expr.h | ||
| format.cpp | ||
| format.h | ||
| fpa_decl_plugin.cpp | ||
| fpa_decl_plugin.h | ||
| func_decl_dependencies.cpp | ||
| func_decl_dependencies.h | ||
| has_free_vars.cpp | ||
| has_free_vars.h | ||
| macro_substitution.cpp | ||
| macro_substitution.h | ||
| num_occurs.cpp | ||
| num_occurs.h | ||
| occurs.cpp | ||
| occurs.h | ||
| pb_decl_plugin.cpp | ||
| pb_decl_plugin.h | ||
| pp.cpp | ||
| pp.h | ||
| pp_params.pyg | ||
| recurse_expr.h | ||
| recurse_expr_def.h | ||
| reg_decl_plugins.cpp | ||
| reg_decl_plugins.h | ||
| scoped_proof.h | ||
| seq_decl_plugin.cpp | ||
| seq_decl_plugin.h | ||
| shared_occs.cpp | ||
| shared_occs.h | ||
| static_features.cpp | ||
| static_features.h | ||
| used_symbols.h | ||
| used_vars.cpp | ||
| used_vars.h | ||
| well_sorted.cpp | ||
| well_sorted.h | ||