Albany
Albany copied to clipboard
Split albany configuration files, so that, e.g., we don't rebuild core files when we change a LandIce config option
Since we're in a reorg/cleanup mood, I would do the following:
- Albany_config.h: keep Albany-wide options
- Albany_packages.h: put the list of packages-enabling macros (e.g., ALBANY_LANDICE)
- LandIce_config.h: put the configs for LandIce (e.g., CISM_HAS_LANDICE)
We could also consider adding packages macros with target_compile_definitions, and do away with Albany_packages.h. LandIce also has very few options (for now), which could prob just be added via target_compile_definitions as well. Splitting some options out of Albany_config.h would also allow to move some cmake logic in our main CMakeLists.txt into LandIce/CMakeLists.txt, which is more appropriate.
Whatever approach we choose (multiple config.h files, vs target_compile_definitions), I would like Albany to not fully rebuild if we toggle, say, ALBANY_ENABLE_DEMO_PDES.