From 92887779bade04133e6618b1ab98c4bdb152b3de Mon Sep 17 00:00:00 2001 From: bog Date: Mon, 13 Nov 2023 20:50:58 +0100 Subject: [PATCH] :tada: C++ meson project. --- .gitignore | 4 ++++ Makefile | 13 +++++++++++++ assets/.keep | 0 meson.build | 33 +++++++++++++++++++++++++++++++++ src/conf.in.hpp | 10 ++++++++++ src/main.cpp | 8 ++++++++ 6 files changed, 68 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 assets/.keep 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..d27ba9f --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +*~* +*\#* +.cache +build \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..bf8a7fa --- /dev/null +++ b/Makefile @@ -0,0 +1,13 @@ +.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 \ + src diff --git a/assets/.keep b/assets/.keep new file mode 100644 index 0000000..e69de29 diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..02df48e --- /dev/null +++ b/meson.build @@ -0,0 +1,33 @@ +project( + 'rest-in-dust', + 'cpp', + version: '0.0.0', + default_options: [ + 'warning_level=3', + 'cpp_std=c++17', + ] +) + +datadir = get_option('prefix') / get_option('datadir') / 'rest_in_dust' + +conf = configuration_data() +conf.set('version', meson.project_version()) +conf.set('datadir', datadir) + +configure_file( + input: 'src/conf.in.hpp', + output: 'conf.hpp', + configuration: conf +) + +executable( + 'rest-in-dust', + sources: [ + 'src/main.cpp', + ], + dependencies: [ + ], + install: true +) + +install_subdir('assets', install_dir: datadir) diff --git a/src/conf.in.hpp b/src/conf.in.hpp new file mode 100644 index 0000000..90ccf22 --- /dev/null +++ b/src/conf.in.hpp @@ -0,0 +1,10 @@ +#ifndef rid_CONF_HPP +#define rid_CONF_HPP + +#define RID_VERSION std::string("@version@") +#define RID_DATADIR std::filesystem::path("@datadir@") + +#include +#include + +#endif diff --git a/src/main.cpp b/src/main.cpp new file mode 100644 index 0000000..c2e00bb --- /dev/null +++ b/src/main.cpp @@ -0,0 +1,8 @@ +#include +#include "conf.hpp" + +int main(int, char**) +{ + std::cout << "Rest In Dust V" << RID_VERSION << std::endl; + return 0; +}