コード例 #1
0
const std::string& executableBasename()
{
    if(executablePath_.empty()){
        findExecutablePath();
    }
    return executableBasename_;
}
コード例 #2
0
const std::string& shareDirectory()
{
    if(executablePath_.empty()){
        findExecutablePath();
    }
    return shareDirectory_;
}
コード例 #3
0
ファイル: filesystem.cpp プロジェクト: Fuitad/mapcrafter
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;
}
コード例 #4
0
ファイル: filesystem.cpp プロジェクト: Fuitad/mapcrafter
fs::path findLoggingConfigFile() {
	PathList configs = findLoggingConfigFiles(findExecutablePath());
	if (configs.size())
		return *configs.begin();
	return fs::path();
}
コード例 #5
0
ファイル: filesystem.cpp プロジェクト: Fuitad/mapcrafter
fs::path findTextureDir() {
	PathList textures = findTextureDirs(findExecutablePath());
	if (textures.size())
		return *textures.begin();
	return fs::path();
}