// -*- c++ -*- #pragma once #include #include //#include enum class TargetType { Auto, // Default - deduce from target name Executable, StaticLibrary, DynamicLibrary, }; struct BuildConfiguration { TargetType type{TargetType::Auto}; std::string target; std::vector sources; std::vector depends; std::vector cxxflags; std::vector cflags; std::vector ldflags; }; using BuildConfigurations = std::vector; int reg(const char* location, BuildConfigurations (*cb)());