aboutsummaryrefslogtreecommitdiffstats
path: root/Mk/Uses/meson.mk
blob: d3904c104db4a118c96668c7e940d0c3b3a1b3c8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# $FreeBSD$
#
# Provide support for Meson based projects
#
# Feature:      meson
# Usage:        USES=meson
#
# The following files are bundled in source tar files.
# meson.build       - Instructions for meson like autoconf configure,
#           there is no changeable parts in the file.
# meson_options.txt - All the options meson understands
#
# Variables for ports:
# MESON_ARGS        - Arguments passed to meson
#           format: -Denable_foo=true
# MESON_BUILD_DIR   - Path to the build directory
#           Default: ${WRKSRC}/_build
#
# MAINTAINER: gnome@FreeBSD.org

.if !defined(_INCLUDE_USES_MESON_MK)
_INCLUDE_USES_MESON_MK= yes

# Sanity check
.if !empty(meson_ARGS)
IGNORE= Incorrect 'USES+= meson:${meson_ARGS}'. meson takes no arguments
.endif

BUILD_DEPENDS+=     meson:devel/meson

# meson uses ninja
.include "${USESDIR}/ninja.mk"

# meson might have issues with non-unicode locales
USE_LOCALE?=    en_US.UTF-8

CONFIGURE_ARGS+=    --prefix ${PREFIX} \
            --mandir man \
            --infodir ${INFO_PATH}

# meson has it own strip mechanic
INSTALL_TARGET=     install

# should we have strip separate from WITH_DEBUG?
.if defined(WITH_DEBUG)
CONFIGURE_ARGS+=    --buildtype debug
.else
CONFIGURE_ARGS+=    --buildtype release \
            --strip
.endif

HAS_CONFIGURE=      yes
CONFIGURE_CMD=      meson
# Pull in manual set settings and from options
CONFIGURE_ARGS+=    ${MESON_ARGS}

BUILD_WRKSRC=       ${WRKSRC}/${MESON_BUILD_DIR}

INSTALL_WRKSRC=     ${WRKSRC}/${MESON_BUILD_DIR}

TEST_WRKSRC=        ${WRKSRC}/${MESON_BUILD_DIR}
TEST_TARGET=        test

MESON_BUILD_DIR?=   _build

CONFIGURE_LOG=      ${MESON_BUILD_DIR}/meson-logs/meson-log.txt

# Add meson build dir at the end.
CONFIGURE_ARGS+=    ${MESON_BUILD_DIR}

.endif #!defined(_INCLUDE_USES_MESON_MK)