IdeBuildSystem

IdeBuildSystem

Functions

Properties

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_build_system_get_id ()

gchar *
ide_build_system_get_id (IdeBuildSystem *self);

ide_build_system_get_display_name ()

gchar *
ide_build_system_get_display_name (IdeBuildSystem *self);

ide_build_system_new_async ()

void
ide_build_system_new_async (IdeContext *context,
                            GFile *project_file,
                            const gchar *build_system_hint,
                            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.

 

build_system_hint

A hint for the build system to use

 

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_priority ()

gint
ide_build_system_get_priority (IdeBuildSystem *self);

ide_build_system_get_builddir ()

gchar *
ide_build_system_get_builddir (IdeBuildSystem *self,
                               IdeBuildPipeline *pipeline);

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_get_build_flags_for_files_async ()

void
ide_build_system_get_build_flags_for_files_async
                               (IdeBuildSystem *self,
                                GPtrArray *files,
                                GCancellable *cancellable,
                                GAsyncReadyCallback callback,
                                gpointer user_data);

This function will get build flags for all files and returns map of file and its build flags as GHashTable.

Parameters

self

An IdeBuildSystem instance.

 

files

array of files whose build flags has to be retrieved.

[element-type Ide.File]

cancellable

a GCancellable to cancel getting build flags.

[allow-none]

callback

function to be called after getting build flags.

 

user_data

data to pass to callback .

 

ide_build_system_get_build_flags_for_files_finish ()

GHashTable *
ide_build_system_get_build_flags_for_files_finish
                               (IdeBuildSystem *self,
                                GAsyncResult *result,
                                GError **error);

Parameters

self

an IdeBuildSystem

 

result

a GAsyncResult

 

error

a location for a GError or NULL

 

Returns

a GHashTable or IdeFile to GStrv.

[element-type Ide.File GStrv][transfer full]

Since: 3.28


ide_build_system_get_build_flags_for_dir_async ()

void
ide_build_system_get_build_flags_for_dir_async
                               (IdeBuildSystem *self,
                                GFile *directory,
                                GCancellable *cancellable,
                                GAsyncReadyCallback callback,
                                gpointer user_data);

ide_build_system_get_build_flags_for_dir_finish ()

GHashTable *
ide_build_system_get_build_flags_for_dir_finish
                               (IdeBuildSystem *self,
                                GAsyncResult *result,
                                GError **error);

Parameters

self

an IdeBuildSystem

 

result

a GAsyncResult

 

error

a location for a GError or NULL

 

Returns

a GHashTable of IdeFile to GStrv.

[element-type Ide.File GStrv][transfer full]


ide_build_system_supports_toolchain ()

gboolean
ide_build_system_supports_toolchain (IdeBuildSystem *self,
                                     IdeToolchain *toolchain);

Checks whether the build system supports the given toolchain.

Parameters

self

an IdeBuildSystem

 

toolchain

a IdeToolchain

 

Returns

TRUE if the toolchain is supported by the build system, FALSE otherwise

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       *self);
  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);
  void        (*get_build_flags_for_files_async)   (IdeBuildSystem       *self,
                                                    GPtrArray            *files,
                                                    GCancellable         *cancellable,
                                                    GAsyncReadyCallback   callback,
                                                    gpointer              user_data);
  GHashTable *(*get_build_flags_for_files_finish)  (IdeBuildSystem       *self,
                                                    GAsyncResult         *result,
                                                    GError              **error);
  gchar      *(*get_builddir)                      (IdeBuildSystem       *self,
                                                    IdeBuildPipeline     *pipeline);
  gchar      *(*get_id)                            (IdeBuildSystem       *self);
  gchar      *(*get_display_name)                  (IdeBuildSystem       *self);
  gboolean    (*supports_toolchain)                (IdeBuildSystem       *self,
                                                    IdeToolchain         *toolchain);
};

IdeBuildSystem

typedef struct _IdeBuildSystem IdeBuildSystem;

Property Details

The “project-file” property

  “project-file”             GFile *

The project file.

Flags: Read / Write / Construct Only