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]].