const std::string& executableBasename() { if(executablePath_.empty()){ findExecutablePath(); } return executableBasename_; }
const std::string& shareDirectory() { if(executablePath_.empty()){ findExecutablePath(); } return shareDirectory_; }
PathList findLoggingConfigFiles(const fs::path& executable) { fs::path mapcrafter_dir = findExecutableMapcrafterDir(findExecutablePath()); PathList configs = { mapcrafter_dir.parent_path().parent_path() / "etc" / "mapcrafter" / "logging.conf", mapcrafter_dir / "logging.conf", }; fs::path home = findHomeDir(); if (!home.empty()) configs.insert(configs.begin(), home / ".mapcrafter" / "logging.conf"); for (PathList::iterator it = configs.begin(); it != configs.end(); ) { if (!fs::is_regular_file(*it)) configs.erase(it); else ++it; } return configs; }
fs::path findLoggingConfigFile() { PathList configs = findLoggingConfigFiles(findExecutablePath()); if (configs.size()) return *configs.begin(); return fs::path(); }
fs::path findTextureDir() { PathList textures = findTextureDirs(findExecutablePath()); if (textures.size()) return *textures.begin(); return fs::path(); }