def METHOD_NAME(self):
    """Set up environment for building/installing CFDEMcoupling."""
    # rename top-level directory to CFDEMcoupling-<version>
    top_dirs = os.listdir(self.builddir)
    for (pkgname, target_dir) in [('CFDEMcoupling', self.cfdem_project_dir), ('LIGGGHTS', self.liggghts_dir)]:
        pkg_topdirs = [d for d in top_dirs if d.startswith(pkgname)]
        if len(pkg_topdirs) == 1:
            orig_dir = os.path.join(self.builddir, pkg_topdirs[0])
            move_file(orig_dir, target_dir)
        else:
            error_msg = "Failed to find subdirectory for %s in %s %s (missing sources for %s?)",
            raise EasyBuildError(error_msg, pkgname, self.builddir, top_dirs, pkgname)
    env.setvar('CFDEM_VERSION', self.version)
    env.setvar('CFDEM_PROJECT_DIR', self.cfdem_project_dir)
    # define $CFDEM_PROJECT_USER_DIR to an empty existing directory
    project_user_dir = os.path.join(self.builddir, 'project_user_dir')
    env.setvar('CFDEM_PROJECT_USER_DIR', project_user_dir)
    mkdir(project_user_dir, parents=True)
    cfdem_bashrc = os.path.join(self.cfdem_project_dir, 'src', 'lagrangian', 'cfdemParticle', 'etc', 'bashrc')
    env.setvar('CFDEM_bashrc', cfdem_bashrc)
    env.setvar('CFDEM_LIGGGHTS_SRC_DIR', os.path.join(self.liggghts_dir, 'src'))
    env.setvar('CFDEM_LIGGGHTS_MAKEFILE_NAME', 'auto')
    lpp_dirs = glob.glob(os.path.join(self.builddir, 'LPP-*'))
    if len(lpp_dirs) == 1:
        env.setvar('CFDEM_LPP_DIR', lpp_dirs[0])
    else:
        raise EasyBuildError("Failed to isolate LPP-* directory in %s", self.builddir)
    # build in parallel
    env.setvar("WM_NCOMPPROCS", str(self.cfg['parallel']))
    vtk_root = get_software_root('VTK')
    if vtk_root:
        vtk_ver_maj_min = '.'.join(get_software_version('VTK').split('.')[:2])
        vtk_inc = os.path.join(vtk_root, 'include', 'vtk-%s' % vtk_ver_maj_min)
        if os.path.exists(vtk_inc):
            env.setvar('VTK_INC_USR', '-I%s' % vtk_inc)
        else:
            raise EasyBuildError("Expected directory %s does not exist!", vtk_inc)
        vtk_lib = os.path.join(vtk_root, 'lib')
        if os.path.exists(vtk_lib):
            env.setvar('VTK_LIB_USR', '-L%s' % vtk_lib)
        else:
            raise EasyBuildError("Expected directory %s does not exist!", vtk_lib)
    else:
        raise EasyBuildError("VTK not included as dependency")
    # can't seem to use defined 'cfdemSysTest' alias, so call cfdemSystemTest.sh script directly...
    cmd = "source $CFDEM_bashrc && $CFDEM_SRC_DIR/lagrangian/cfdemParticle/etc/cfdemSystemTest.sh"
    run_cmd(cmd, log_all=True, simple=True, log_ok=True)