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

Register any things. More...

#include "string"
#include "vector"
#include "build/Build.hpp"
#include "generator/generator.hpp"
#include "task/Task.hpp"

Go to the source code of this file.

Namespaces

namespace  CBuild
 Filebuffer for CBuild ecosystem.
 
namespace  CBuild::Registry
 

Functions

void CBuild::Registry::init ()
 Internal init.
 
void CBuild::Registry::RegisterTask (CBuild::Task *task)
 Register new task.
 
void CBuild::Registry::CallTask (std::string name, std::vector< std::string > args)
 Run tasks.
 
void CBuild::Registry::RegisterTarget (CBuild::Toolchain *target)
 Register new target for build.
 
CBuild::ToolchainCBuild::Registry::GetToolchain (std::string name, bool force=false)
 Get the registered toolchain.
 
lib::map< std::string, CBuild::Toolchain * > CBuild::Registry::GetTargets ()
 Get list of all targets.
 
void CBuild::Registry::RegisterKeyword (std::string key, CBuild::Task *func)
 Register new keyord for parsing, ! Dangerous, owerwriting existing keywords can lead to undefined behaviours.
 
lib::map< std::string, std::string > CBuild::Registry::GetKeywordsList ()
 Get list of all user registered keywords.
 
void CBuild::Registry::SetRebuildName (std::string _name)
 Set the rebuilt CBuild executable name.
 
void CBuild::Registry::AddLinkArg (std::string arg)
 Add linker arg for CBuild rebuild.
 
void CBuild::Registry::AddCompileArg (std::string arg)
 Add compiler argument for CBuild rebuild.
 
void CBuild::Registry::SetVersionHandler (void(*handler)())
 Set handler to add output to --version
 
void CBuild::Registry::ToolchainAll (bool force, std::string path, std::vector< std::string > *args)
 Call and execute all toolchains.
 
CBuild::generator_baseCBuild::Registry::GetGenerator (std::string id)
 Get generator for specified id.
 
void CBuild::Registry::RegisterGenerator (CBuild::generator_base *gen, std::string id)
 Register generator for id.
 
std::vector< std::string > CBuild::Registry::GetGeneratorsList ()
 Get list of registered generators.
 
std::vector< std::string > CBuild::Registry::GetToolchainsList ()
 Get list of registered toolchains.
 
std::vector< std::string > CBuild::Registry::GetTasksList ()
 Get list of registered tasks.
 
CBuild::ToolchainCBuild::Registry::GetRebuildTarget ()
 Get target used for rebuild of CBuild script.
 

Detailed Description

Register any things.

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

@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 register.hpp.