CBuild
C++ build system with scripts written in c++
|
#include "../../headers/map.hpp"
#include "fstream"
#include "inttypes.h"
#include "regex"
#include "string"
#include "sys/resource.h"
#include "vector"
#include "../../headers/build_data.hpp"
#include "../../headers/filesystem++.hpp"
#include "../../headers/hasher/cbuild_hash.hpp"
#include "../../headers/print.hpp"
Go to the source code of this file.
Classes | |
struct | extended_metadata |
struct | internal_data |
Functions | |
std::regex | cpp_comment ("[^\'\"]\\/\\/.*\n", std::regex_constants::optimize|std::regex_constants::ECMAScript) |
std::regex | c_comment ("\\/\\*([\\s\\S]*?)\\*\\/", std::regex_constants::optimize|std::regex_constants::ECMAScript) |
std::regex | include_detector ("#include [\"<]([^\">]+)[\">]", std::regex_constants::optimize|std::regex_constants::ECMAScript) |
void | parse_file (internal_data *data, std::string target_id, std::string file, std::string object) |
void | print_metadata (extended_metadata *m) |
bool | check_mismatch_recursive (const extended_metadata *file, internal_data *data) |
std::regex c_comment | ( | "\\/\\*([\\s\\S]*?)\\*\\/" | , |
std::regex_constants::optimize|std::regex_constants::ECMAScript | ) |
Referenced by parse_file().
bool check_mismatch_recursive | ( | const extended_metadata * | file, |
internal_data * | data ) |
Definition at line 133 of file cbuild_hash.cpp.
References check_mismatch_recursive(), CBuild::source_metadata_file::deps, lib::map< _K, _D >::get(), CBuild::source_metadata_file::hash, internal_data::headers_metadata, extended_metadata::new_meta, CBuild::source_metadata_file::object, extended_metadata::old_meta, extended_metadata::old_meta_available, and internal_data::sources_metadata.
Referenced by check_mismatch_recursive(), and CBuild::CBuildHashV2::get_files_for_recompilation().
std::regex cpp_comment | ( | "\\/\\/.*\n" | [^\'\"], |
std::regex_constants::optimize|std::regex_constants::ECMAScript | ) |
Referenced by parse_file().
std::regex include_detector | ( | "#include ([^\">]+)" | [\"<][\">], |
std::regex_constants::optimize|std::regex_constants::ECMAScript | ) |
Referenced by parse_file().
void parse_file | ( | internal_data * | data, |
std::string | target_id, | ||
std::string | file, | ||
std::string | object ) |
Definition at line 52 of file cbuild_hash.cpp.
References CBuild::fs::base(), c_comment(), cpp_comment(), CBuild::source_metadata_file::deps, CBuild::fs::exists(), CBuild::source_metadata_file::hash, CBuild::hash_fnv_1a(), internal_data::headers_metadata, internal_data::headers_to_parse, include_detector(), extended_metadata::new_meta, CBuild::fs::normalize_relative_path(), CBuild::source_metadata_file::object, extended_metadata::old_meta, extended_metadata::old_meta_available, CBuild::print_full(), lib::map< _K, _D >::push_back_check(), CBuild::read_file_metadata(), CBuild::source_metadata_file::source, internal_data::sources_metadata, and CBuild::write_file_metadata().
Referenced by CBuild::CBuildHashV2::get_files_for_recompilation().
void print_metadata | ( | extended_metadata * | m | ) |
Definition at line 111 of file cbuild_hash.cpp.
References CBuild::source_metadata_file::deps, CBuild::source_metadata_file::hash, extended_metadata::new_meta, CBuild::source_metadata_file::object, extended_metadata::old_meta, extended_metadata::old_meta_available, CBuild::printf_full(), CBuild::source_metadata_file::source, and CBuild::WHITE.
Referenced by CBuild::CBuildHashV2::get_files_for_recompilation().