Skip to content

Commit

Permalink
buildtypes: Add script for Meson [1]
Browse files Browse the repository at this point in the history
[Description][2]:

> Meson is an open source build system meant to be both extremely fast,
> and, even more importantly, as user friendly as possible.
>
> The main design point of Meson is that every moment a developer spends
> writing or debugging build definitions is a second wasted. So is every
> second spent waiting for the build system to actually start compiling
> code.

[1]: http://mesonbuild.com/Quick-guide.html
[2]: http://mesonbuild.com/
  • Loading branch information
pmenzel committed Jan 15, 2018
1 parent 768ca9c commit 7a6c1ff
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 0 deletions.
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ BUILDTYPES+=cmake
BUILDTYPES+=configure
BUILDTYPES+=jb
BUILDTYPES+=make
BUILDTYPES+=meson
BUILDTYPES+=perl-module
BUILDTYPES+=perl-module-makemaker
BUILDTYPES+=python-module
Expand Down
59 changes: 59 additions & 0 deletions buildtypes/meson.sh.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
#
# bee magic for meson
#
# Copyright (C) 2017
# Paul Menzel <pmenzel@molgen.mpg.de>
# and other bee developers
#
# This file is part of bee.
#
# bee is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#

: ${BEE_BUILDTYPE_MESON_MESONBUILD:=${S}/meson.build}

if [ ! -r "${BEE_BUILDTYPE_MESON_MESONBUILD}" ] ; then
return
fi

if ! type -p meson >/dev/null 2>&1 ; then
return
fi

BEE_BUILDTYPE_DETECTED=meson

BEE_BUILDTYPE_MESON_SOURCEDIR=${BEE_BUILDTYPE_MESON_MESONBUILD%/*}

#### bee_configure() ##########################################################

bee_configure() {
start_cmd meson \
--prefix ${PREFIX} \
--buildtype=plain \
"${@}" \
${S}
}

#### bee_build() ##############################################################

bee_build() {
start_cmd ninja -v -C ${B} ${BEE_MAKEFLAGS} "${@}"
}

#### bee_install() ############################################################

bee_install() {
start_cmd DESTDIR=${D} ninja -C ${B} install "${@}"
}

1 change: 1 addition & 0 deletions src/beesh.sh.in
Original file line number Diff line number Diff line change
Expand Up @@ -1032,6 +1032,7 @@ bee_run patch "${bee_PATCHFILES[@]}"

bee_buildmagic=( $("${BEE_BINDIR}/beeuniq" "${BEE_BUILDTYPE[@]}" \
cmake \
meson \
autotools \
autogen \
perl-module \
Expand Down

0 comments on commit 7a6c1ff

Please sign in to comment.