Quoting Dylan Baker (2017-11-01 11:58:16) > Meson has up until this point set it's version in the root meson.build > script. While there are other build systems them creates "one more > thing" to duplicate between meson and every other build system, this > script is a simple "read, strip, print" sort of deal to allow meson to > read the VERSION file. > > I chose to implement this in python since python is portable, and to > keep the meson.build script clean. This is also complicated by the fact > that the project() call *must* be the first non-comment,non-blank in the > toplevel meson.build script. > > Signed-off-by: Dylan Baker <dylanx.c.ba...@intel.com> > --- > meson.build | 2 +- > scripts/meson_get_version.py | 35 +++++++++++++++++++++++++++++++++++ > 2 files changed, 36 insertions(+), 1 deletion(-) > create mode 100644 scripts/meson_get_version.py > > diff --git a/meson.build b/meson.build > index 6ad8c8bbf4b..3f77380f7df 100644 > --- a/meson.build > +++ b/meson.build > @@ -21,7 +21,7 @@ > project( > 'mesa', > ['c', 'cpp'], > - version : '17.3.0-devel', > + version : > run_command(find_program('scripts/meson_get_version.py')).stdout(), > license : 'MIT', > meson_version : '>= 0.42', > default_options : ['c_std=c99', 'cpp_std=c++11'] > diff --git a/scripts/meson_get_version.py b/scripts/meson_get_version.py > new file mode 100644 > index 00000000000..a221e26f250 > --- /dev/null > +++ b/scripts/meson_get_version.py > @@ -0,0 +1,35 @@ > +#!/usr/bin/env python > +# encoding=utf-8 > +# Copyright © 2017 Intel Corporation > + > +# Permission is hereby granted, free of charge, to any person obtaining a > copy > +# of this software and associated documentation files (the "Software"), to > deal > +# in the Software without restriction, including without limitation the > rights > +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell > +# copies of the Software, and to permit persons to whom the Software is > +# furnished to do so, subject to the following conditions: > + > +# The above copyright notice and this permission notice shall be included in > +# all copies or substantial portions of the Software. > + > +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR > +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, > +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE > +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER > +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING > FROM, > +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN > THE > +# SOFTWARE. > + > +from __future__ import print_function > +import os > + > + > +def main(): > + filename = os.path.join(os.environ['MESON_SOURCE_ROOT'], 'VERSION') > + with open(filename) as f: > + version = f.read().strip() > + print(version, end='') > + > + > +if __name__ == '__main__': > + main() > -- > 2.14.3 >
ping
signature.asc
Description: signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev