We should take increments steps. Alan, can you provide the options you're using for your static builds? We can then determine which all third party projects are being enabled and then one-by-one add support for building those static. Initially, we can start by adding BUILD_SHARED_LIBS_ for third party projects where it makes sense to build static and is supported. We can easily add a new top-level flag e.g. BUILD_SHARED_LIBS_OVERRIDE or something like that that could be used to provide the default value for all projects that support overriding static/shared.
@ben.boeckel , note that currently we only care about static builds for the Supercomputer-case. So static builds on Windows or static-Qt support or static-MPI (since we always use system MPI on HPC systems) are not of concern at this time.