diff options
author | Adam J. Stewart <ajstewart426@gmail.com> | 2018-12-18 21:51:42 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-18 21:51:42 -0600 |
commit | c1a99bf8ecb0536cf40c16cf16b84035f0b69ee0 (patch) | |
tree | 5eb56e2f1482b17100bd742e89c0c60bc7d24324 /lib | |
parent | b091fcdb8e8bf9c96e33bcbee23571d28c512534 (diff) | |
download | spack-c1a99bf8ecb0536cf40c16cf16b84035f0b69ee0.tar.gz spack-c1a99bf8ecb0536cf40c16cf16b84035f0b69ee0.tar.bz2 spack-c1a99bf8ecb0536cf40c16cf16b84035f0b69ee0.tar.xz spack-c1a99bf8ecb0536cf40c16cf16b84035f0b69ee0.zip |
Add additional info to MesonPackage docs (#10133)
* Add additional info to MesonPackage docs
* No Pygments lexer for Meson code, default to none
Diffstat (limited to 'lib')
-rw-r--r-- | lib/spack/docs/build_systems/mesonpackage.rst | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/lib/spack/docs/build_systems/mesonpackage.rst b/lib/spack/docs/build_systems/mesonpackage.rst index 4b30ac5df0..6d68e99af6 100644 --- a/lib/spack/docs/build_systems/mesonpackage.rst +++ b/lib/spack/docs/build_systems/mesonpackage.rst @@ -54,6 +54,28 @@ Packages that use the Meson build system can be identified by the presence of a ``meson.build`` file. This file declares things like build instructions and dependencies. +One thing to look for is the ``meson_version`` key that gets passed +to the ``project`` function: + +.. code-block:: none + :emphasize-lines: 10 + + project('gtk+', 'c', + version: '3.94.0', + default_options: [ + 'buildtype=debugoptimized', + 'warning_level=1', + # We only need c99, but glib needs GNU-specific features + # https://github.com/mesonbuild/meson/issues/2289 + 'c_std=gnu99', + ], + meson_version: '>= 0.43.0', + license: 'LGPLv2.1+') + + +This means that Meson 0.43.0 is the earliest release that will work. +You should specify this in a ``depends_on`` statement. + ^^^^^^^^^^^^^^^^^^^^^^^^^ Build system dependencies ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -67,6 +89,28 @@ the ``MesonPackage`` base class already contains: depends_on('meson', type='build') depends_on('ninja', type='build') + +If you need to specify a particular version requirement, you can +override this in your package: + +.. code-block:: python + + depends_on('meson@0.43.0:', type='build') + depends_on('ninja', type='build') + + +^^^^^^^^^^^^^^^^^^^ +Finding meson flags +^^^^^^^^^^^^^^^^^^^ + +To get a list of valid flags that can be passed to ``meson``, run the +following command in the directory that contains ``meson.build``: + +.. code-block:: console + + $ meson setup --help + + ^^^^^^^^^^^^^^^^^^^^^^^^^^ Passing arguments to meson ^^^^^^^^^^^^^^^^^^^^^^^^^^ |