|
|
|
name: build_tgt
|
|
|
|
long_name: Build target
|
|
|
|
extends: tgt
|
|
|
|
description: |
|
|
|
|
A build target is either an executable, shared library, static library,
|
|
|
|
both shared and static library or shared module.
|
|
|
|
|
|
|
|
methods:
|
|
|
|
- name: extract_objects
|
|
|
|
returns: extracted_obj
|
|
|
|
description: |
|
|
|
|
Returns an opaque value representing the object files generated for those
|
|
|
|
source files. This is typically used to take single object files and link
|
|
|
|
them to unit tests or to compile some source files with custom flags. To
|
|
|
|
use the object file(s) in another build target, use the
|
|
|
|
`objects:` keyword argument to a [[build_target]] or [[declare_dependency]],
|
|
|
|
or include them in the command line of a [[custom_target]].
|
|
|
|
varargs:
|
|
|
|
name: source
|
|
|
|
type: str | file
|
|
|
|
description: |
|
|
|
|
Source filenames for which the built objects should be extracted.
|
|
|
|
min_varargs: 1
|
|
|
|
|
|
|
|
- name: extract_all_objects
|
|
|
|
returns: extracted_obj
|
|
|
|
description: |
|
|
|
|
Acts the same as `extract_objects`, but returns all object files generated
|
|
|
|
by this target.
|
|
|
|
|
|
|
|
By default only objects built for this target are returned to maintain
|
|
|
|
backward compatibility with previous versions. The default value for the
|
|
|
|
`recursive` kwarg will eventually be changed to `true` in a future version.
|
|
|
|
kwargs:
|
|
|
|
recursive:
|
|
|
|
type: bool
|
|
|
|
description: |
|
|
|
|
Also return objects passed to the `objects` argument of this target.
|
|
|
|
since: 0.46.0
|
|
|
|
default: true
|
|
|
|
|
|
|
|
- name: full_path
|
|
|
|
returns: str
|
|
|
|
description: |
|
|
|
|
Returns a full path pointing to the result target file.
|
|
|
|
**NOTE:** In most cases using the object itself will do the same job
|
|
|
|
as this and will also allow Meson to setup inter-target dependencies
|
|
|
|
correctly. Please file a bug if that doesn't work for you.
|
|
|
|
|
|
|
|
- name: path
|
|
|
|
returns: str
|
|
|
|
since: 0.59.0
|
|
|
|
deprecated: 0.59.0
|
|
|
|
description: |
|
|
|
|
Does the exact same as [[build_tgt.full_path]]. **NOTE**: This
|
|
|
|
function is solely kept for compatibility with [[@external_program]] objects.
|
|
|
|
It will be removed once the, also deprecated, corresponding `path()`
|
|
|
|
function in the [[@external_program]] object is removed.
|
|
|
|
|
|
|
|
- name: private_dir_include
|
|
|
|
returns: inc
|
|
|
|
description: |
|
|
|
|
Returns a value that works like [[include_directories]], but points to the
|
|
|
|
private directory of this target. Usually only needed if an another target
|
|
|
|
needs to access some generated internal headers of this target.
|
|
|
|
|
|
|
|
- name: name
|
|
|
|
returns: str
|
|
|
|
since: 0.54.0
|
|
|
|
description: Returns the name of the target.
|
|
|
|
|
|
|
|
- name: found
|
|
|
|
returns: bool
|
|
|
|
since: 0.59.0
|
|
|
|
description: |
|
|
|
|
Always returns `true`. This function is meant to make executables
|
|
|
|
objects feature compatible with [[@external_program]] objects. This
|
|
|
|
simplifies use-cases where an executable is used instead of
|
|
|
|
an [[@external_program]].
|