aboutsummaryrefslogtreecommitdiff
path: root/tests/build
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2017-10-01 03:57:03 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2017-10-01 03:57:03 +0200
commitaa3583916131f21b6a936cd88c4b74a21151644f (patch)
tree845aa6e2ccd8320345dafb24f4e4657d8b164389 /tests/build
parent0fa500a6d78cf6fd1d75d8db8ae28065bc2e36df (diff)
Only enable modularized build if forced
The two boolean command line variables that control this are: force_modules force_std_modules
Diffstat (limited to 'tests/build')
-rw-r--r--tests/build/root.build17
1 files changed, 12 insertions, 5 deletions
diff --git a/tests/build/root.build b/tests/build/root.build
index 6c98ba9..85724d4 100644
--- a/tests/build/root.build
+++ b/tests/build/root.build
@@ -2,15 +2,22 @@
# copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
# license : MIT; see accompanying LICENSE file
-using cxx.guess
-
-if ($force_modules != true && $cxx.id == 'clang')
- cxx.features.modules = false
-
cxx.std = experimental
+cxx.features.modules = ($force_modules == true)
using cxx
+if ($force_modules == true && !$cxx.features.modules)
+ fail 'c++ compiler does not support modules'
+
+if ($force_std_modules == true)
+{
+ import stdmod_lib = libstd-modules%liba{std-modules}
+ cxx.poptions += -D__cpp_lib_modules
+}
+else
+ stdmod_lib =
+
hxx{*}: extension = hxx
cxx{*}: extension = cxx