From 2800c0ceb2ca0a355e661283eb7e2714bb9f802a Mon Sep 17 00:00:00 2001 From: Rasmus Thomsen Date: Thu, 26 Mar 2020 07:36:33 +0100 Subject: [PATCH] Add support for building with meson Also fix an import in taggedalgebraic.d --- meson.build | 13 +++++++++ source/taggedalgebraic/meson.build | 35 ++++++++++++++++++++++++ source/taggedalgebraic/taggedalgebraic.d | 2 +- 3 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 meson.build create mode 100644 source/taggedalgebraic/meson.build diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..35f909e --- /dev/null +++ b/meson.build @@ -0,0 +1,13 @@ +project('taggedalgebraic', 'd', + meson_version: '>=0.50', + version: '0.11.9' +) + +project_soversion = '0' +project_version_suffix = '' +project_version = meson.project_version() +project_version_full = project_version + project_version_suffix + +source_root = meson.source_root() +build_root = meson.build_root() +subdir('source/taggedalgebraic') diff --git a/source/taggedalgebraic/meson.build b/source/taggedalgebraic/meson.build new file mode 100644 index 0000000..920f715 --- /dev/null +++ b/source/taggedalgebraic/meson.build @@ -0,0 +1,35 @@ +taggedalgebraic_src = [ + 'taggedalgebraic.d', + 'taggedunion.d', + 'visit.d', +] + +taggedalgebraic_lib = library( + 'taggedalgebraic', + taggedalgebraic_src, + version: project_version, + install: true, + include_directories: include_directories('../') +) + +pkgc = import('pkgconfig') + +pkgc.generate( + taggedalgebraic_lib, + subdirs: 'd/taggedalgebraic', +) + +install_headers( + taggedalgebraic_src, + subdir: 'd/taggedalgebraic/taggedalgebraic', +) + +test_exe = executable( + 'taggedalgebraic_test', + taggedalgebraic_src, + include_directories: include_directories('../'), + d_unittest: true, + link_args: '-main', +) + +test('test_taggedalgebraic', test_exe) diff --git a/source/taggedalgebraic/taggedalgebraic.d b/source/taggedalgebraic/taggedalgebraic.d index cb9eb43..ad297ab 100644 --- a/source/taggedalgebraic/taggedalgebraic.d +++ b/source/taggedalgebraic/taggedalgebraic.d @@ -139,7 +139,7 @@ struct TaggedAlgebraic(U) if (is(U == union) || is(U == struct) || is(U == enum) /// @safe unittest { - import taggedalgebraic; + import taggedalgebraic.taggedalgebraic; struct Foo { string name;