Program Listing for File setup_config.hpp¶
↰ Return to documentation for file (include/dish2/config/setup_config.hpp)
#pragma once
#ifndef DISH2_CONFIG_SETUP_CONFIG_HPP_INCLUDE
#define DISH2_CONFIG_SETUP_CONFIG_HPP_INCLUDE
#include <cstdlib>
#include <iostream>
#include "../../../third-party/conduit/include/uitsl/polyfill/filesystem.hpp"
#include "../../../third-party/Empirical/include/emp/config/ArgManager.hpp"
#include "../utility/path_exists.hpp"
#include "cfg.hpp"
namespace dish2 {
void setup_config( emp::ArgManager& arg_manager ) {
// std::filesystem::exists is failing inside Docker container
// so use stat as a backup for now
// if ( std::filesystem::exists("dishtiny.cfg") ) {
if ( dish2::path_exists("dishtiny.cfg") ) {
std::cout << "reading configuration from dishtiny.cfg" << std::endl;
dish2::cfg.Read( "dishtiny.cfg" );
} else std::cout << "no configuration file found" << std::endl;
arg_manager.UseCallbacks();
if ( arg_manager.HasUnused() ) std::exit( EXIT_FAILURE );
}
} // namespace dish2
#endif // #ifndef DISH2_CONFIG_SETUP_CONFIG_HPP_INCLUDE