summaryrefslogtreecommitdiffhomepage
path: root/dev/BuildKit/TOMLManifestBuilder.h
diff options
context:
space:
mode:
Diffstat (limited to 'dev/BuildKit/TOMLManifestBuilder.h')
-rw-r--r--dev/BuildKit/TOMLManifestBuilder.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/dev/BuildKit/TOMLManifestBuilder.h b/dev/BuildKit/TOMLManifestBuilder.h
new file mode 100644
index 0000000..10a8200
--- /dev/null
+++ b/dev/BuildKit/TOMLManifestBuilder.h
@@ -0,0 +1,33 @@
+// ============================================================= //
+// nebuild
+// Copyright (C) 2024-2025, Amlal El Mahrouss, all rights reserved.
+// ============================================================= //
+
+#pragma once
+
+#include <BuildKit/IManifestBuilder.h>
+#include <toml++/toml.hpp>
+
+/// @file TOMLManifestBuilder.h
+/// @brief TOML manifest builder header file.
+
+namespace NeBuild {
+/// @brief TOML builder
+class TOMLManifestBuilder final NEBUILD_MANIFEST_BUILDER {
+ public:
+ TOMLManifestBuilder() = default;
+ ~TOMLManifestBuilder() override = default;
+
+ TOMLManifestBuilder& operator=(const TOMLManifestBuilder&) = default;
+ TOMLManifestBuilder(const TOMLManifestBuilder&) = default;
+
+ public:
+ /// @brief Builds a TOML target.
+ /// @param arg_sz filename size
+ /// @param arg_val filename path.
+ /// @retval true build succeeded.
+ /// @retval false failed to build.
+ bool BuildTarget(int arg_sz, const char* arg_val, const bool dry_run = false) override;
+ const char* BuildSystem() override;
+};
+} // namespace NeBuild \ No newline at end of file