|
CBuild
C++ build system with scripts written in c++
|
#include "fstream"#include "iostream"#include "regex"#include "sstream"#include "string"#include "vector"#include "../../headers/CBuild_defs.hpp"#include "../../headers/build_data.hpp"#include "../../headers/filesystem++.hpp"#include "../../headers/hash.hpp"#include "../../headers/map.hpp"#include "../../headers/optional.hpp"#include "../../headers/print.hpp"Go to the source code of this file.
Classes | |
| class | CBuild::types::file |
| File structure. More... | |
| class | CBuild::types::file_content |
| Temporary struct for file content. More... | |
Namespaces | |
| namespace | CBuild |
| Filebuffer for CBuild ecosystem. | |
| namespace | CBuild::consts |
| Constants. | |
| namespace | CBuild::types |
| namespace | CBuild::vars |
Functions | |
| std::regex | CBuild::consts::cxx_line_comment ("//.*") |
| Regex for stripping c++ line comments from file. | |
| std::regex | CBuild::consts::c_multiline_comment ("/\\*([\\s\\S]*?)\\*/") |
| Regex for stripping c multiline comments from file comtent. | |
| std::regex | CBuild::consts::doxygen_comment ("/\\*\\*([\\s\\S]*?)\\*/") |
| Regex for stripping doxygen comments from file comtent. | |
| std::regex | CBuild::consts::include_parser ("#include\\s+[\"<]([^\">]+)[\">]") |
| Get include directives from file and parse file name in it. | |
| std::regex | CBuild::consts::check_type ("\\.(cpp|cxx|cc|c)") |
| For checking for source file. | |
| CBuild::types::file_content | CBuild::get_file_data (std::string path, std::string included_from="") |
| Get content of file. | |
| uint64_t | CBuild::hash (std::string str) |
| FNV-1a hashing function for std::string. | |
| void | CBuild::procces_files (std::vector< std::string > files, std::vector< std::string > objects, std::string toolchain_id) |
| Procces file data. | |
| void | CBuild::store_hash (std::string toolchain_id) |
| Store new hashes to file. | |
| void | CBuild::load_hash (std::string toolchain_id) |
| Load old hashes. | |
Variables | |
| std::vector< CBuild::types::file > | CBuild::vars::filelist |
| lib::map< std::string, uint64_t > | CBuild::vars::headers |
| lib::map< std::string, uint64_t > | CBuild::vars::old_hashes |