aboutsummaryrefslogtreecommitdiff
path: root/tests/target-triplet
diff options
context:
space:
mode:
Diffstat (limited to 'tests/target-triplet')
-rw-r--r--tests/target-triplet/buildfile6
-rw-r--r--tests/target-triplet/driver.cxx18
2 files changed, 22 insertions, 2 deletions
diff --git a/tests/target-triplet/buildfile b/tests/target-triplet/buildfile
index b8ca712..7dec846 100644
--- a/tests/target-triplet/buildfile
+++ b/tests/target-triplet/buildfile
@@ -4,4 +4,10 @@
import libs = libbutl%lib{butl}
+if ($cxx.features.modules && ($force_std_modules == true || $cxx.id != 'msvc'))
+{
+ import libs += libstd-modules%liba{std-modules}
+ cxx.poptions += -D__cpp_lib_modules
+}
+
exe{driver}: {hxx cxx}{*} $libs
diff --git a/tests/target-triplet/driver.cxx b/tests/target-triplet/driver.cxx
index b446a6f..5e61a46 100644
--- a/tests/target-triplet/driver.cxx
+++ b/tests/target-triplet/driver.cxx
@@ -3,10 +3,24 @@
// license : MIT; see accompanying LICENSE file
#include <cassert>
+
+#ifndef __cpp_lib_modules
+#include <string>
#include <iostream>
#include <stdexcept> // invalid_argument
-
-#include <libbutl/target-triplet.hxx>
+#endif
+
+// Other includes.
+
+#ifdef __cpp_modules
+#ifdef __cpp_lib_modules
+import std.core;
+import std.io;
+#endif
+import butl.target_triplet;
+#else
+#include <libbutl/target-triplet.mxx>
+#endif
using namespace std;
using namespace butl;