import std; import Crafter.Build; namespace fs = std::filesystem; using namespace Crafter; extern "C" Configuration CrafterBuildProject(std::span args) { bool debug = false; bool timing = false; std::string target = "x86_64-pc-linux-gnu"; for (std::string_view arg : args) { if (arg == "--debug") debug = true; else if (arg == "--timing") timing = true; else if (arg.starts_with("--target=")) target = std::string(arg.substr(std::string_view("--target=").size())); } Configuration cfg; cfg.path = "./"; cfg.name = "Crafter.Event"; cfg.outputName = "Crafter.Event"; cfg.target = target; cfg.type = ConfigurationType::LibraryStatic; cfg.debug = debug; if (timing) cfg.defines.push_back({"CRAFTER_TIMING", ""}); std::array ifaces = { "interfaces/Crafter.Event" }; std::array impls = {}; cfg.GetInterfacesAndImplementations(ifaces, impls); return cfg; }