From 5b57981af72d46cc6f04dfe6ce842c1deb711470 Mon Sep 17 00:00:00 2001 From: Bruno BELANYI Date: Thu, 19 Aug 2021 21:32:33 +0200 Subject: [PATCH] abacus: bootstrap build system --- meson.build | 13 +++++++++++++ src/abacus.cc | 5 +++++ src/meson.build | 8 ++++++++ tests/meson.build | 1 + tests/unit/base.cc | 5 +++++ tests/unit/meson.build | 25 +++++++++++++++++++++++++ 6 files changed, 57 insertions(+) create mode 100644 meson.build create mode 100644 src/abacus.cc create mode 100644 src/meson.build create mode 100644 tests/meson.build create mode 100644 tests/unit/base.cc create mode 100644 tests/unit/meson.build diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..4910f6a --- /dev/null +++ b/meson.build @@ -0,0 +1,13 @@ +project( + 'abacus', + 'cpp', + version: '0.0.0', + license: 'MIT', + default_options: [ + 'warning_level=3', + 'cpp_std=c++17', + ], +) + +subdir('src') +subdir('tests') diff --git a/src/abacus.cc b/src/abacus.cc new file mode 100644 index 0000000..5eb9e4a --- /dev/null +++ b/src/abacus.cc @@ -0,0 +1,5 @@ +#include + +int main() { + std::cout << "Hello World!\n"; +} diff --git a/src/meson.build b/src/meson.build new file mode 100644 index 0000000..5b8b9c6 --- /dev/null +++ b/src/meson.build @@ -0,0 +1,8 @@ +abacus_sources = files( + 'abacus.cc', +) + +abacus = executable( + 'abacus', + sources: abacus_sources, +) diff --git a/tests/meson.build b/tests/meson.build new file mode 100644 index 0000000..082b746 --- /dev/null +++ b/tests/meson.build @@ -0,0 +1 @@ +subdir('unit') diff --git a/tests/unit/base.cc b/tests/unit/base.cc new file mode 100644 index 0000000..4573678 --- /dev/null +++ b/tests/unit/base.cc @@ -0,0 +1,5 @@ +#include + +TEST(misc, passing) { + ASSERT_EQ(1, 1); +} diff --git a/tests/unit/meson.build b/tests/unit/meson.build new file mode 100644 index 0000000..e866754 --- /dev/null +++ b/tests/unit/meson.build @@ -0,0 +1,25 @@ +gtest = dependency( + 'gtest', + main: true, + required: false, +) + +if gtest.found() + unit_test_sources = files( + 'base.cc', + ) + + unit_tests = executable( + 'unit_tests', + sources: unit_test_sources, + dependencies: [ + gtest, + ], + ) + + test( + 'unit tests', + unit_tests, + protocol: 'gtest', + ) +endif