CBuild
C++ build system with scripts written in c++
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
build_data.hpp File Reference

Build metadata config file. More...

#include "cstdint"
#include "string"
#include "vector"

Go to the source code of this file.

Classes

struct  CBuild::source_metadata_file
 Metadata for source files (.cpp/.c/etc) Structure of file: More...
 
struct  CBuild::target_metadata_file
 Metadata for a full toolchain Structure of file: More...
 

Namespaces

namespace  CBuild
 Filebuffer for CBuild ecosystem.
 

Functions

int CBuild::read_file_metadata (std::string target_id, std::string src_file, CBuild::source_metadata_file *metadata)
 Load metadata for source file.
 
int CBuild::read_file_metadata_direct (std::string target_id, std::string file, CBuild::source_metadata_file *metadata)
 Load metadata for source file.
 
int CBuild::read_target_metadata (std::string target_id, CBuild::target_metadata_file *metadata)
 Load metadata for a full target.
 
int CBuild::read_target_metadata_direct (std::string path, CBuild::target_metadata_file *metadata)
 Load metadata for a full target using path to metdata file.
 
int CBuild::read_file_hash (std::string target_id, std::string file, uint64_t *hash)
 Get a file hash (internally uses read_file_metadata, so no performance benefits, but easiier to use in hasher)
 
int CBuild::write_file_metadata (std::string target_id, std::string src_file, CBuild::source_metadata_file *metadata)
 Write a metadata for a file to a file.
 
int CBuild::write_target_metadata (std::string target_id, CBuild::target_metadata_file *metadata)
 Write a metadata for a full target.
 
int CBuild::write_file_hash (std::string target_id, std::string file, uint64_t *hash)
 
std::string CBuild::get_file_metadata_path (std::string target_id, std::string file)
 Get the path to a file metadata file.
 
std::string CBuild::get_target_metadata_path (std::string target_id)
 Get the path to a target metadata file.
 

Detailed Description

Build metadata config file.

Author
WolodiaM (w_mel.nosp@m.nyk@.nosp@m.outlo.nosp@m.ok.c.nosp@m.om)
Date
2023-12-06

@license GPL v3.0 or later

Copyright (C) 2023 WolodiaM This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

Definition in file build_data.hpp.