### Interface

# Ide BuildSystemDiscovery

#### Description

    interface Ide.BuildSystemDiscovery : GObject.Object

No description available.

#### Prerequisite

In order to implement BuildSystemDiscovery, your type must inherit from `GObject`.

#### Implementations

- IdeSimpleBuildSystemDiscovery

#### Instance methods

###### ide_build_system_discovery_discover

This virtual method can be used to try to discover the build system to use for a particular project. This might be used in cases like Flatpak where the build system can be determined from the .json manifest rather than auto-discovery by locating project files.

Available since: 3.32

#### Interface structure

    struct IdeBuildSystemDiscoveryInterface {
      GTypeInterface parent_iface;
      gchar* (* discover) (
        IdeBuildSystemDiscovery* self,
        GFile* project_file,
        GCancellable* cancellable,
        gint* priority,
        GError** error
      );

    }

###### Interface members

`parent_iface` |
    GTypeInterface
| No description available.
`discover` |
    gchar* (* discover) (
        IdeBuildSystemDiscovery* self,
        GFile* project_file,
        GCancellable* cancellable,
        gint* priority,
        GError** error
      )
| No description available.

#### Virtual methods

###### Ide.BuildSystemDiscovery.discover

This virtual method can be used to try to discover the build system to use for a particular project. This might be used in cases like Flatpak where the build system can be determined from the .json manifest rather than auto-discovery by locating project files.