aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild')
-rw-r--r--mesonbuild/compilers.py6
-rw-r--r--mesonbuild/interpreter.py7
2 files changed, 13 insertions, 0 deletions
diff --git a/mesonbuild/compilers.py b/mesonbuild/compilers.py
index 88184cb..450e8a5 100644
--- a/mesonbuild/compilers.py
+++ b/mesonbuild/compilers.py
@@ -1505,6 +1505,9 @@ class DCompiler(Compiler):
def get_soname_args(self, shlib_name, path, soversion):
return []
+ def get_unittest_flag(self):
+ return ['-unittest']
+
def build_rpath_args(self, build_dir, rpath_paths, install_rpath):
# This method is to be used by LDC and DMD.
# GDC can deal with the verbatim flags.
@@ -1562,6 +1565,9 @@ class GnuDCompiler(DCompiler):
def build_rpath_args(self, build_dir, rpath_paths, install_rpath):
return build_unix_rpath_args(build_dir, rpath_paths, install_rpath)
+ def get_unittest_flag(self):
+ return ['-funittest']
+
class LLVMDCompiler(DCompiler):
def __init__(self, exelist, version, is_cross):
DCompiler.__init__(self, exelist, version, is_cross)
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index 5a6d702..763eb7d 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -597,6 +597,7 @@ class CompilerHolder(InterpreterObject):
'find_library': self.find_library_method,
'has_argument' : self.has_argument_method,
'first_supported_argument' : self.first_supported_argument_method,
+ 'get_unittest_flag' : self.get_unittest_flag_method,
})
def version_method(self, args, kwargs):
@@ -650,6 +651,12 @@ class CompilerHolder(InterpreterObject):
def get_id_method(self, args, kwargs):
return self.compiler.get_id()
+ def get_unittest_flag_method(self, args, kwargs):
+ # At time, only D compilers have this feature.
+ if not getattr(self.compiler, "get_unittest_flag", None):
+ return ''
+ return self.compiler.get_unittest_flag()
+
def has_member_method(self, args, kwargs):
if len(args) != 2:
raise InterpreterException('Has_member takes exactly two arguments.')