diff options
Diffstat (limited to 'include/NeBuildKit/TOMLManifestBuilder.h')
| -rw-r--r-- | include/NeBuildKit/TOMLManifestBuilder.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/include/NeBuildKit/TOMLManifestBuilder.h b/include/NeBuildKit/TOMLManifestBuilder.h new file mode 100644 index 0000000..c6a12bc --- /dev/null +++ b/include/NeBuildKit/TOMLManifestBuilder.h @@ -0,0 +1,39 @@ +// ============================================================= // +// nebuild +// Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under BSD-3 license. +// ============================================================= // + +#pragma once + +#include <NeBuildKit/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 from a TOML file. + /// @param arg_sz filename size (must be 1 or greater). + /// @param arg_val filename path (must be a valid TOML file). + /// @retval true building has succeeded. + /// @retval false fail to build, see error message. + /// =========================================================== /// + bool BuildTarget(const std::string& arg_val, const bool dry_run = false) override; + + /// =========================================================== /// + /// @brief Returns the build system name. + /// =========================================================== /// + const char* BuildSystem() override; +}; +} // namespace NeBuild
\ No newline at end of file |
