// -*- c++ -*- // Distributed under the BSD 2-Clause License. // See accompanying file LICENSE for details. #pragma once #include <vector> #include <array> #include <string> #include <functional> #include "ctor.h" struct BuildConfigurationEntry { std::string file; std::function<ctor::build_configurations (const ctor::settings&)> cb; }; std::vector<BuildConfigurationEntry>& getConfigFileList(); struct ExternalConfigurationEntry { std::string file; std::function<ctor::external_configurations (const ctor::settings&)> cb; }; std::vector<ExternalConfigurationEntry>& getExternalConfigFileList(); int reg(const char* location); int unreg(const char* location); //! Returns true of recompilation was needed. bool recompileCheck(const ctor::settings& settings, int argc, char* argv[], bool relaunch_allowed = true);