For example, when building executables without BUILD_MULTIRESOLUTIONIMAGEINTERFACE_VSI_SUPPORT=ON the build fails for cryptic reasons whcih have to reverse engineerd in a complicated way. Instead these kinds of flags should write a configuration C++ header file that includes these options so that can be checked during build time.