// -*- c++ -*- // Distributed under the BSD 2-Clause License. // See accompanying file LICENSE for details. #pragma once #include <vector> #include <array> #include "libctor.h" class Settings; struct BuildConfigurationEntry { const char* file; BuildConfigurations (*cb)(const Settings&); }; struct ExternalConfigurationEntry { const char* file; ExternalConfigurations (*cb)(const Settings&); }; extern std::array<BuildConfigurationEntry, 1024> configFiles; extern std::size_t numConfigFiles; extern std::array<ExternalConfigurationEntry, 1024> externalConfigFiles; extern std::size_t numExternalConfigFiles; int reg(const char* location); int unreg(const char* location); //! Returns true of recompilation was needed. bool recompileCheck(const Settings& settings, int argc, char* argv[], bool relaunch_allowed = true);