From 5fec2c00454e8c449f9d4928ebd80dea6ec13226 Mon Sep 17 00:00:00 2001 From: bog Date: Sat, 28 Oct 2023 22:08:25 +0200 Subject: [PATCH] :tada: meson cpp project. --- .gitignore | 4 ++++ Makefile | 14 ++++++++++++++ meson.build | 26 ++++++++++++++++++++++++++ src/conf.in.hpp | 6 ++++++ src/main.cpp | 8 ++++++++ 5 files changed, 58 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 meson.build create mode 100644 src/conf.in.hpp create mode 100644 src/main.cpp diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..10a7aa1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +*~* +*\#* +build +.cache \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..2d4ab09 --- /dev/null +++ b/Makefile @@ -0,0 +1,14 @@ +.PHONY: build + +build: + meson setup build + meson compile -C build + +install: build + meson install -C build + +check: + @cppcheck --language=c++ --enable=all -q \ + --suppress=missingInclude \ + --suppress=missingIncludeSystem \ + src diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..c1942ac --- /dev/null +++ b/meson.build @@ -0,0 +1,26 @@ +project('duck2d', + 'cpp', + version: '0.0.0', + default_options: [ + 'prefix=/usr', + 'warning_level=3', + 'cpp_std=c++17', + ]) + +conf = configuration_data() +conf.set('version', meson.project_version()) + + +configure_file( + input: 'src/conf.in.hpp', + output: 'conf.hpp', + configuration: conf +) + +executable('d2d', + sources: [ + 'src/main.cpp', + ], + dependencies: [ + ], + install: true) diff --git a/src/conf.in.hpp b/src/conf.in.hpp new file mode 100644 index 0000000..2c4ede9 --- /dev/null +++ b/src/conf.in.hpp @@ -0,0 +1,6 @@ +#ifndef d2_CONF_HPP +#define d2_CONF_HPP + +#define DUCK_VERSION std::string("@version@") + +#endif diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..4ba7dc4 --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,8 @@ +#include +#include "conf.hpp" + +int main(int, char**) +{ + std::cout << "Duck2D " << DUCK_VERSION << std::endl; + return 0; +}