mirror of
https://github.com/Z3Prover/z3
synced 2025-08-17 16:52:15 +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.
12 lines
256 B
CMake
12 lines
256 B
CMake
z3_add_component(smt_tactic
|
|
SOURCES
|
|
ctx_solver_simplify_tactic.cpp
|
|
smt_tactic.cpp
|
|
unit_subsumption_tactic.cpp
|
|
COMPONENT_DEPENDENCIES
|
|
smt
|
|
TACTIC_HEADERS
|
|
ctx_solver_simplify_tactic.h
|
|
smt_tactic.h
|
|
unit_subsumption_tactic.h
|
|
)
|