def METHOD_NAME(self):
    spec = self.spec
    args = ["-DWITH_ElmerIce=ON", "-DWITH_CONTRIB=ON"]
    if "+gui" in spec:
        args.append("-DWITH_ELMERGUI:BOOL=TRUE")
        args.append("-DWITH_QT5:BOOL=TRUE")
        args.append("-DWITH_QWT:BOOL=TRUE")
        args.append("-DWITH_PARAVIEW:BOOL=TRUE")
    else:
        args.append("-DWITH_ELMERGUI:BOOL=FALSE")
    if "+mpi" in spec:
        args.append("-DWITH_MPI=ON")
    else:
        args.append("-DWITH_MPI=OFF")
    if self.spec.satisfies("^intel-mkl"):
        args.append("-DWITH_MKL:BOOL=TRUE")
    if "+openmp" in spec:
        args.append("-DWITH_OpenMP=ON")
    else:
        args.append("-DWITH_OpenMP=OFF")
    if "+mumps" in spec:
        args.append("-DWITH_Mumps=ON")
    else:
        args.append("-DWITH_Mumps=OFF")
    if "+hypre" in spec:
        args.append("-DWITH_Hypre=ON")
    else:
        args.append("-DWITH_Hypre=OFF")
    if "+trilinos" in spec:
        args.extend(["-DWITH_Trilinos=ON", "-DCMAKE_CXX_STANDARD=11"])
    else:
        args.append("-DWITH_Trilinos=OFF")
    if "+lua" in spec:
        args.extend(["-DWITH_LUA=ON", "-DUSE_SYSTEM_LUA=ON"])
        if "%gcc" in spec:
            args.append("-DCMAKE_Fortran_FLAGS=-ffree-line-length-none")
    else:
        args.append("-DWITH_LUA=OFF")
    if "+zoltan" in spec:
        args.extend(["-DWITH_Zoltan=ON", "-DUSE_SYSTEM_ZOLTAN=ON"])
    else:
        args.append("-DWITH_Zoltan=OFF")
    if "+scatt2d" in spec:
        args.extend(
            [
                "-DWITH_ScatteredDataInterpolator=ON",
                "-DNN_LIBRARY=" + join_path(self.spec["nn-c"].prefix, "lib", "libnn.a"),
                "-DNN_INCLUDE_DIR=" + join_path(self.spec["nn-c"].prefix, "include"),
                "-DCSA_LIBRARY=" + join_path(self.spec["csa-c"].prefix, "lib", "libcsa.so"),
                "-DCSA_INCLUDE_DIR=" + join_path(self.spec["csa-c"].prefix, "include"),
            ]
        )
    return args