3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-09 02:41:52 +00:00
z3/cmake
Dan Liew 6f48a145aa [CMake] Fix dependencies for generating gparams_register_modules.cpp.
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.
2017-06-21 23:56:46 +01:00
..
modules [CMake] Move CMake files into their intended location so the 2017-06-12 11:59:00 +01:00
cmake_uninstall.cmake.in [CMake] Move CMake files into their intended location so the 2017-06-12 11:59:00 +01:00
compiler_lto.cmake [CMake] Move CMake files into their intended location so the 2017-06-12 11:59:00 +01:00
compiler_warnings.cmake [CMake] Move CMake files into their intended location so the 2017-06-12 11:59:00 +01:00
cxx_compiler_flags_overrides.cmake [CMake] Move CMake files into their intended location so the 2017-06-12 11:59:00 +01:00
git_utils.cmake [CMake] Move CMake files into their intended location so the 2017-06-12 11:59:00 +01:00
msvc_legacy_quirks.cmake [CMake] Move CMake files into their intended location so the 2017-06-12 11:59:00 +01:00
target_arch_detect.cmake [CMake] Move CMake files into their intended location so the 2017-06-12 11:59:00 +01:00
target_arch_detect.cpp [CMake] Move CMake files into their intended location so the 2017-06-12 11:59:00 +01:00
z3_add_component.cmake [CMake] Fix dependencies for generating gparams_register_modules.cpp. 2017-06-21 23:56:46 +01:00
z3_add_cxx_flag.cmake [CMake] Move CMake files into their intended location so the 2017-06-12 11:59:00 +01:00
z3_append_linker_flag_list_to_target.cmake [CMake] Move CMake files into their intended location so the 2017-06-12 11:59:00 +01:00
Z3Config.cmake.in [CMake] Move CMake files into their intended location so the 2017-06-12 11:59:00 +01:00