IdeBuildSystem

IdeBuildSystem

Functions

Properties

IdeContext * context Read / Write / Construct Only
GFile * project-file Read / Write / Construct Only

Types and Values

Object Hierarchy

    GInterface
    ╰── IdeBuildSystem

Prerequisites

IdeBuildSystem requires IdeObject.

Known Implementations

IdeBuildSystem is implemented by IdeDirectoryBuildSystem.

Description

Functions

IDE_TYPE_BUILD_SYSTEM

#define IDE_TYPE_BUILD_SYSTEM (ide_build_system_get_type())

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);

Asynchronously requests the build flags for a file. For autotools and C based projects, this would be similar to the $CFLAGS variable and is suitable for generating warnings and errors with clang.


ide_build_system_get_build_flags_finish ()

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

Completes an asynchronous request to get the build flags for a file.

Returns

An array of strings containing the build flags, or NULL upon failure and error is set.

[array zero-terminated=1][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,
                              GKeyFile *config,
                              IdeDevice *device,
                              GError **error);

This function should return an IdeBuilder that can be used to perform a build of the project using the configuration specified. device may be a non-local device, for which cross-compilation may be necessary.

Parameters

system

The IdeBuildSystem to perform the build.

 

config

The configuration options for the build.

[nullable]

device

The IdeDevice the result should be able to run on.

 

Returns

An IdeBuilder or NULL and error is set.

[transfer full]

Types and Values

struct IdeBuildSystemInterface

struct IdeBuildSystemInterface {
  GTypeInterface parent_iface;

  gint        (*get_priority)           (IdeBuildSystem       *system);
  IdeBuilder *(*get_builder)            (IdeBuildSystem       *system,
                                         GKeyFile             *config,
                                         IdeDevice            *device,
                                         GError              **error);
  void        (*get_build_flags_async)  (IdeBuildSystem       *self,
                                         IdeFile              *file,
                                         GCancellable         *cancellable,
                                         GAsyncReadyCallback   callback,
                                         gpointer              user_data);
  gchar     **(*get_build_flags_finish) (IdeBuildSystem       *self,
                                         GAsyncResult         *result,
                                         GError              **error);
};

IdeBuildSystem

typedef struct _IdeBuildSystem IdeBuildSystem;

Property Details

The “context” property

  “context”                  IdeContext *

Context.

Flags: Read / Write / Construct Only


The “project-file” property

  “project-file”             GFile *

The project file.

Flags: Read / Write / Construct Only