If ESMFMKFILE environment variable is set but points to a non-existent file, FindESMF silently returns even if in the application it is marked as required package.
This fatal error message:
if (NOT DEFINED ESMFMKFILE)
message(FATAL_ERROR "ESMFMKFILE not defined. This is the path to esmf.mk file. \
Without this filepath, ESMF_FOUND will always be FALSE.")
endif ()
should depend on whether or not file that ESMFMKFILE points to exists, not whether variable ESMFMKFILE is defined.