mirror of
https://github.com/Z3Prover/z3
synced 2025-08-27 21:48:56 +00:00
Previously CMake was not aware of which headers files the generation of `install_tactic.cpp` depended on. Consequently this could result in broken incremental builds if * Existing headers that declared tactics/probes changed. * New tactics/probes were added to new header files. Now the `z3_add_component()` CMake function has been modifed to take an optional `TACTIC_HEADERS` argument which allows the headers that declare tactics/probes to be explicitly listed. The necessary component declarations have been modified to declare their tactic/probe header files. With this information CMake will now regenerate `install_tactic.cpp` correctly. This required the `mk_install_tactic_cpp_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.
45 lines
854 B
CMake
45 lines
854 B
CMake
z3_add_component(smtlogic_tactics
|
|
SOURCES
|
|
nra_tactic.cpp
|
|
qfaufbv_tactic.cpp
|
|
qfauflia_tactic.cpp
|
|
qfbv_tactic.cpp
|
|
qfidl_tactic.cpp
|
|
qflia_tactic.cpp
|
|
qflra_tactic.cpp
|
|
qfnia_tactic.cpp
|
|
qfnra_tactic.cpp
|
|
qfufbv_ackr_model_converter.cpp
|
|
qfufbv_tactic.cpp
|
|
qfufnra_tactic.cpp
|
|
qfuf_tactic.cpp
|
|
quant_tactics.cpp
|
|
COMPONENT_DEPENDENCIES
|
|
ackermannization
|
|
aig_tactic
|
|
arith_tactics
|
|
bv_tactics
|
|
fp
|
|
muz
|
|
nlsat_tactic
|
|
nlsat_smt_tactic
|
|
qe
|
|
sat_solver
|
|
smt_tactic
|
|
PYG_FILES
|
|
qfufbv_tactic_params.pyg
|
|
TACTIC_HEADERS
|
|
nra_tactic.h
|
|
qfaufbv_tactic.h
|
|
qfauflia_tactic.h
|
|
qfbv_tactic.h
|
|
qfidl_tactic.h
|
|
qflia_tactic.h
|
|
qflra_tactic.h
|
|
qfnia_tactic.h
|
|
qfnra_tactic.h
|
|
qfuf_tactic.h
|
|
qfufbv_tactic.h
|
|
qfufnra_tactic.h
|
|
quant_tactics.h
|
|
)
|