## Compilation - Design #1335: Remove MOREFEM_CHECK_NAN_AND_INF macro as it is currently too severe. - Support #1330: std::optional is not yet supported by Apple Clang, and poorly by g++ 7 / libstdc++. So at the moment boost alternative is used; this ticket remains open as Boost is hopefully only a temporary fix. ## Core - Bug #1334: TimeDependencyPolicy: substitute properly the environment variables. ## Operators - Profile #1189: In the case of operators for which solution unknown list and test unknown list are identical, storage and computation are no longer duplicated. ## ParameterInstances - Bug #1332: Solid: improve the error message when an accessor is called for an undefined solid data. ## FormulationSolver - Bug #1340: Exceptions thrown in functions fed to PETSc Newton mechanism couldn't be caught correctly in external models due to libc++-abi issue, leading to messy error messages at the end of the program. Now the default provided such functions catch internally such exceptions and convert them into a PETSc error code; a macro MOREFEM_NO_TRAP_SNES_EXCEPTION has been added to enable former behaviour. ## Tests - Design #1333: Introduce in DomainManager a friendship to enable lightweight creation of domains in test. ## CMake - Support #1341: CMake: propagate properly compilation definitions to external projects. - Support #1339: CMake: do not use PROJECT_NAME while defining the macro MOREFEM_INSTALL_DIR. - Support #1329: CMake: reduce the number of Pre cache files.