def METHOD_NAME(self):
    spec = self.spec
    args = []
    # Language bindings. Many default to true in CMakeLists, bypass all
    c_bind = "ON" if "+c" in spec else "OFF"
    args.append("-DBUILD_C_BINDINGS:BOOL={0}".format(c_bind))
    py_bind = "ON" if "+python" in spec else "OFF"
    args.append("-DBUILD_PYTHON_BINDINGS:BOOL={0}".format(py_bind))
    mat_bind = "ON" if "+matlab" in spec else "OFF"
    args.append("-DBUILD_MATLAB_BINDINGS:BOOL={0}".format(mat_bind))
    # Extra options
    cuda_lib = "ON" if "+cuda" in spec else "OFF"
    args.append("-DBUILD_CUDA_LIB:BOOL={0}".format(cuda_lib))
    examples = "ON" if "+examples" in spec else "OFF"
    args.append("-DBUILD_EXAMPLES:BOOL={0}".format(examples))
    use_openmp = "ON" if "+openmp" in spec else "OFF"
    args.append("-DUSE_OPENMP:BOOL={0}".format(use_openmp))
    use_mpi = "ON" if "+mpi" in spec else "OFF"
    args.append("-DUSE_MPI:BOOL={0}".format(use_mpi))
    # Configure the proper python executable
    if "+python" in spec:
        args.append("-DPYTHON_EXECUTABLE={0}".format(spec["python"].command.path))
    return args