Split options holder class (#6527)
authorGereon Kremer <nafur42@gmail.com>
Thu, 13 May 2021 06:02:58 +0000 (08:02 +0200)
committerGitHub <noreply@github.com>
Thu, 13 May 2021 06:02:58 +0000 (06:02 +0000)
commitffd7bb2069df08c31fd9d8a03d786f1e9fc7147c
tree3b135fff23c6833a3f07abb5b34c82cf57b5576d
parent304064c6bb3bf7ea7a7d54b66e2ad152e8fc4525
Split options holder class (#6527)

This PR splits the OptionsHolder class into separate holder classes for every options module and makes them directly accessible via appropriate Options::<module>() methods. We forward declare these new holder classes and thereby retain that we only need to recompile when we change an option module that is explicitly included.
All (generated) methods that previously accessed the old holder object are changed to instead use the new holder objects.
This PR does the bare minimum to do this change, further PRs will eventually get rid of all template specializations that currently surround our options class.
src/options/CMakeLists.txt
src/options/mkoptions.py
src/options/module_template.cpp
src/options/module_template.h
src/options/options.h [deleted file]
src/options/options_handler.cpp
src/options/options_holder_template.h [deleted file]
src/options/options_public_functions.cpp
src/options/options_template.cpp
src/options/options_template.h [new file with mode: 0644]
src/options/resource_manager_options.toml