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.
24 lines
501 B
CMake
24 lines
501 B
CMake
z3_add_component(ackermannization
|
|
SOURCES
|
|
ackermannize_bv_model_converter.cpp
|
|
ackermannize_bv_tactic.cpp
|
|
ackr_bound_probe.cpp
|
|
ackr_helper.cpp
|
|
ackr_model_converter.cpp
|
|
lackr.cpp
|
|
lackr_model_constructor.cpp
|
|
lackr_model_converter_lazy.cpp
|
|
COMPONENT_DEPENDENCIES
|
|
ast
|
|
model
|
|
rewriter
|
|
solver
|
|
tactic
|
|
PYG_FILES
|
|
ackermannization_params.pyg
|
|
ackermannize_bv_tactic_params.pyg
|
|
TACTIC_HEADERS
|
|
ackermannize_bv_tactic.h
|
|
ackr_bound_probe.h
|
|
)
|