meson plugin
meson - Meson build element
This is a BuildElement implementation for using Meson build scripts.
You will often want to pass additional arguments to meson
. This should
be done on a per-element basis by setting the meson-local
variable. Here is
an example:
variables:
meson-local: |
-Dmonkeys=yes
If you want to pass extra options to meson
for every element in your
project, set the meson-global
variable in your project.conf file. Here is
an example of that:
elements:
meson:
variables:
meson-global: |
-Dmonkeys=always
Here is the default configuration for the meson
element in full:
# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Meson default configuration variables: build-dir: _builddir # Project-wide extra arguments to be passed to `meson` meson-global: '' # Element-specific extra arguments to be passed to `meson`. meson-local: '' meson-args: | --prefix=%{prefix} \ --bindir=%{bindir} \ --sbindir=%{sbindir} \ --sysconfdir=%{sysconfdir} \ --datadir=%{datadir} \ --includedir=%{includedir} \ --libdir=%{libdir} \ --libexecdir=%{libexecdir} \ --localstatedir=%{localstatedir} \ --sharedstatedir=%{sharedstatedir} \ --mandir=%{mandir} \ --infodir=%{infodir} %{meson-global} %{meson-local} meson: meson setup %{conf-root} %{build-dir} %{meson-args} meson-build: | ninja -v -j ${JOBS} -C %{build-dir} meson-install: | env DESTDIR="%{install-root}" meson install -C %{build-dir} --no-rebuild # Set this if the sources cannot handle parallelization. # # notparallel: True config: # Commands for configuring the software # configure-commands: - | %{meson} # Commands for building the software # build-commands: - | %{meson-build} # Commands for installing the software into a # destination folder # install-commands: - | %{meson-install} # Commands for stripping debugging information out of # installed binaries # strip-commands: - | %{strip-binaries} # Use max-jobs CPUs for building environment: JOBS: | %{max-jobs} # And dont consider JOBS as something which may # affect build output. environment-nocache: - JOBS
See built-in functionality documentation for details on common configuration options for build elements.