mirror of
https://github.com/Z3Prover/z3
synced 2025-04-13 20:38:43 +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.
22 lines
379 B
CMake
22 lines
379 B
CMake
z3_add_component(portfolio
|
|
SOURCES
|
|
default_tactic.cpp
|
|
enum2bv_solver.cpp
|
|
pb2bv_solver.cpp
|
|
bounded_int2bv_solver.cpp
|
|
fd_solver.cpp
|
|
smt_strategic_solver.cpp
|
|
COMPONENT_DEPENDENCIES
|
|
aig_tactic
|
|
fp
|
|
fpa_tactics
|
|
qe
|
|
sat_solver
|
|
sls_tactic
|
|
smtlogic_tactics
|
|
subpaving_tactic
|
|
ufbv_tactic
|
|
TACTIC_HEADERS
|
|
default_tactic.h
|
|
)
|