21#ifndef CBUILD_GXXMT_TOOLCHAIN
22#define CBUILD_GXXMT_TOOLCHAIN
82 std::atomic_int64_t read_ptr;
83 read_ptr.store(files.size() - 1);
85 unsigned int num_threads = std::thread::hardware_concurrency();
87 std::thread threads[num_threads];
88 for (
unsigned int i = 0; i < num_threads; i++) {
89 threads[i] = std::thread([&files,
this, &
args, &read_ptr](
void) ->
void {
92 int64_t i = read_ptr.fetch_sub(1);
98 cmd += files.at(i).key;
102 cmd += files.at(i).data;
104 std::this_thread::get_id();
110 for (
unsigned int i = 0; i < num_threads; i++) {
126 for (
unsigned int i = 0; i < files.size(); i++) {
127 flist += files.at(i).data;
130 if (files.size() > 0) {
156 for (
unsigned int i = 0; i < files.size(); i++) {
157 flist += files.at(i).data;
160 if (files.size() > 0) {
void build() override
Build.
void link() override
Linking.
GXXMT(std::string id)
Construct a new GXXMT object.
GXXMT(std::string id, std::string name)
Construct a new GXXMT object.
void link_pack() override
Linking for static libraries.
Custom implementation of map datatype.
Filebuffer for CBuild ecosystem.
uint64_t hash(std::string str)
FNV-1a hashing function for std::string.
Command for compile_commands.json.