## IdeBuildSystem

IdeBuildSystem

## Functions

gint | ide_build_system_get_priority ()
void | ide_build_system_get_build_flags_async ()
gchar ** | ide_build_system_get_build_flags_finish ()
void | ide_build_system_new_async ()
IdeBuildSystem * | ide_build_system_new_finish ()
IdeBuilder * | ide_build_system_get_builder ()

## Types and Values

#define | IDE_TYPE_BUILD_SYSTEM
struct | IdeBuildSystemInterface
| IdeBuildSystem

## Description

## Functions

### ide_build_system_get_priority ()

    gint
    ide_build_system_get_priority (IdeBuildSystem *self);

### ide_build_system_get_build_flags_async ()

    void
    ide_build_system_get_build_flags_async
                                   (IdeBuildSystem *self,
                                    IdeFile *file,
                                    GCancellable *cancellable,
                                    GAsyncReadyCallback callback,
                                    gpointer user_data);

### ide_build_system_get_build_flags_finish ()

    gchar **
    ide_build_system_get_build_flags_finish
                                   (IdeBuildSystem *self,
                                    GAsyncResult *result,
                                    GError **error);

#### Returns

.

[transfer full]

### ide_build_system_new_async ()

    void
    ide_build_system_new_async (IdeContext *context,
                                GFile *project_file,
                                GCancellable *cancellable,
                                GAsyncReadyCallback callback,
                                gpointer user_data);

Asynchronously creates a new IdeBuildSystem instance using the registered GIOExtensionPoint system. Each extension point will be tried asynchronously by priority until one has been found that supports `project_file` .

If no build system could be found, then `ide_build_system_new_finish()` will return `NULL`.

#### Parameters

context | IdeBuildSystem |
project_file | A GFile containing the directory or project file. |
cancellable | A GCancellable. | [allow-none]
callback | A callback to execute upon completion |
user_data | User data for `callback` . |

### ide_build_system_new_finish ()

    IdeBuildSystem *
    ide_build_system_new_finish (GAsyncResult *result,
                                 GError **error);

Complete an asynchronous call to `ide_build_system_new_async()`.

#### Returns

An IdeBuildSystem if successful; otherwise `NULL` and `error` is set.

[transfer full]

### ide_build_system_get_builder ()

    IdeBuilder *
    ide_build_system_get_builder (IdeBuildSystem *system,
                                  IdeConfiguration *configuration,
                                  GError **error);

This function returns an IdeBuilder that can be used to perform a build of the project using the configuration specified.

See `ide_builder_build_async()` for more information.

#### Parameters

system | The IdeBuildSystem to perform the build. |
configuration | An IdeConfiguration. |

#### Returns

An IdeBuilder or `NULL` and `error` is set.

[transfer full]

## Types and Values

### IDE_TYPE_BUILD_SYSTEM

    #define IDE_TYPE_BUILD_SYSTEM (ide_build_system_get_type())

### struct IdeBuildSystemInterface

    struct IdeBuildSystemInterface {
      GTypeInterface parent_iface;

      gint             (*get_priority) (IdeBuildSystem       *system);
      IdeBuilder      *(*get_builder)  (IdeBuildSystem       *system,
                                        IdeConfiguration     *configuration,
                                        GError              **error);
    };

### IdeBuildSystem

    typedef struct _IdeBuildSystem IdeBuildSystem;