I noticed that FindLIBMESH.cmake always tries to find the "opt" configuration of libmesh . Could you infer this from the user?
In many places, the libmesh and MOOSE stack use the environment variable "METHOD", which is either "opt", "oprof", or "dbg"
find_path(LIBMESH_PC NAMES libmesh-opt.pc
HINTS ${LIBMESH_DIR} $ENV{LIBMESH_ROOT}
PATHS ENV LD_LIBRARY_PATH
PATH_SUFFIXES lib/pkgconfig pkgconfig
NO_DEFAULT_PATH)