CBuild
C++ build system with scripts written in c++
Loading...
Searching...
No Matches
cross_compile.hpp
Go to the documentation of this file.
1
23// C++ libraries
24#include "string"
25#include "vector"
26// Project includes
27#include "Build.hpp"
28// Code
29#ifndef __CROSS_COMPILE_HPP__
30#define __CROSS_COMPILE_HPP__
31namespace CBuild {
33 protected:
46 std::vector<CBuild::CrossCompiler::ToolData> toolchain_list;
58 std::string meta_id;
62 std::string meta_name;
63
64 public:
71 CrossCompiler(std::string id, std::string name);
78 void add_arch_tool(std::string id, CBuild::Toolchain* tool);
84 void add_arch_tool(std::string id);
91 CBuild::Toolchain* get_arch_tool(std::string id);
95 void perform_registry();
106 void apply_global_config();
112 void set_default_tool(std::string arch);
118 std::vector<std::string> get_toolchain_list();
123 for (auto tool : this->toolchain_list) {
124 if (tool.internally_managed) {
125 delete tool.tool;
126 }
127 }
128 delete this->meta_config;
129 delete this->meta_toolchain;
130 }
131};
132} // namespace CBuild
133#endif // __CROSS_COMPILE_HPP__
Build toolchain headers.
std::string meta_name
Output name for this group.
std::vector< CBuild::CrossCompiler::ToolData > toolchain_list
List of internal toolchains.
CrossCompiler(std::string id, std::string name)
Create new cross-compilation collection.
CBuild::Toolchain * get_global_config()
Get global configuration (for compatibility reasons returns CBuild::Toolchain* to config)
std::vector< std::string > get_toolchain_list()
Get list of sub-toolchains in this collection (skips config and meta-toolchain)
CBuild::Toolchain * get_arch_tool(std::string id)
Get toolchain for specific arch.
void perform_registry()
Register all internal toolchains.
CBuild::Toolchain * meta_config
Global configuration.
void set_default_tool(std::string arch)
Set default toolchain.
~CrossCompiler()
Destructor for this class.
std::string meta_id
Id of this group.
void add_arch_tool(std::string id, CBuild::Toolchain *tool)
Create new architecture dependant tool.
void apply_global_config()
Load global configuration data into local, per-toolchain, configuration.
CBuild::Toolchain * meta_toolchain
Meta-toolchain fot this group.
Toolchain class.
Definition Build.hpp:65
Filebuffer for CBuild ecosystem.
Definition Build.hpp:34
Internal toolchain data.