Proper usage of add-all-flags macros
When updating some part of the dune-functions build system the following questions regarding the various add-all-flags approaches came up and I could not find satisfactory answers in the documentation:
- Should
target_link_dune_default_libraries()
still be used or should it be deprecated in favour ofdune_target_enable_all_packages()
? - Should the
src/
example created byduneproject
still calltarget_link_dune_default_libraries()
altoughdune_enable_all_packages()
is called by default? - Should the call to
add_dune_all_flags()
indune_add_test()
be replaced bydune_target_enable_all_packages()
such that tests are build similarly to normal executables? - Should a library module (like, e.g. dune-functions) use
dune_enable_all_packages()
? Or is this discouraged, because it has to be used in all derived modules? - Do we allow building anything without using one of the add-all-flags approaches at all? In view of possible binary incompatibility it looks like "All tests use it" implies "All libraries have to use it" which implies "All applications have to use it"