b2/core/include/bertini2/io/splash.hpp
2025-01-14 01:15:53 +01:00

163 lines
4.1 KiB
C++

//This file is part of Bertini 2.
//
//bertini2/io/splash.hpp is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//
//bertini2/io/splash.hpp is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
//GNU General Public License for more details.
//
//You should have received a copy of the GNU General Public License
//along with bertini2/io/splash.hpp. If not, see <http://www.gnu.org/licenses/>.
//
// Copyright(C) 2015 - 2021 by Bertini2 Development Team
//
// See <http://www.gnu.org/licenses/> for a copy of the license,
// as well as COPYING. Bertini2 is provided with permitted
// additional terms in the b2/licenses/ directory.
// individual authors of this file include:
// silviana amethyst, university of wisconsin-eau claire
/**
\file bertini2/io/splash.hpp
\brief Provides the splash screens for bertini2.
*/
#pragma once
#include "bertini2/version.hpp"
#include "boost/version.hpp"
#include <sstream>
namespace bertini{
inline
std::string LicenseInfo()
{
std::stringstream ss;
ss << "Bertini 2 is available under the GPL 3 license,\nwith additional terms as permitted under Section 7.\n\nPlease see the full text of the licenses for Bertini and its dependencies in the source code at b2/licenses.\n\n";
ss << "Bertini 2 depends on the following software and libraries:"
"\n"
"==\n"
"Eigen\n"
"--\n"
"Eigen is available from http://eigen.tuxfamily.org/index.php?title=Main_Page\n"
"\n"
"Eigen's license as of April 12, 2016 is MPL2, with some LGPL scattered in.\nFor more information, please consult\n"
"http://eigen.tuxfamily.org/index.php?title=FAQ#Licensing\n"
"\n"
"The Mozilla Public License 2.0 has been included at b2/licenses/\n"
"\n"
"==\n"
"GMP\n"
"--\n"
"The GNU Multiple Precision Library is available from https://gmplib.org/.\n"
"\n"
"Since version 6, GMP is distributed under the dual licenses, GNU LGPL v3 and GNU GPL v2.\n"
"\n"
"The GNU LGPL license has been included in Bertini 2 at b2/licenses/\n"
"\n"
"==\n"
"MPFR\n"
"--\n"
"The GNU MPFR library is available from http://www.mpfr.org/.\n"
"\n"
"MPFR is free.\nIt is distributed under the GNU Lesser General Public License (GNU Lesser GPL),\nversion 3 or later (2.1 or later for MPFR versions until 2.4.x).\n"
"\n"
"==\n"
"Boost\n"
"--\n"
"The Boost C++ libraries are available from http://www.boost.org/.\n"
"\n"
"Boost is available under the Boost License 1.0.\nPlease see http://www.boost.org/users/license.html.\nA copy of the BPL has been included in b2/licenses.\n";
return ss.str();
}
inline
std::string SourceURL()
{
return PACKAGE_URL;
}
inline
std::string WikiURL()
{
return "https://github.com/bertiniteam/b2/wiki";
}
inline
std::string Version()
{
return PACKAGE_VERSION;
}
inline
std::string Owners()
{
std::stringstream ss;
ss << "D.J. Bates, S. Amethyst, J.D. Hauenstein,\nA.J. Sommese, C.W. Wampler";
return ss.str();
}
inline
std::string Authors()
{
std::stringstream ss;
ss << "S. Amethyst, J. Collins, T. Hodges";
return ss.str();
}
inline
std::string SplashScreen()
{
std::stringstream ss;
ss << " Bertini(TM) 2\n\n";
ss << " The Bertini Trademark is owned by\n" << Owners() << "\n\n";
ss << " The code is primarily authored by\n" << Authors() << "\n\n";
ss << " Source available online at\n" << SourceURL() << "\n\n";
ss << " Wiki online at\n" << WikiURL() << "\n\n";
ss << " This is version\n" << Version() << "\n";
ss << " Bertini2 is GPL3 Free/Libre Open Source Software, please contribute!\n\n";
return ss.str();
}
inline
std::string GenericHelp()
{
return "";
}
inline
std::string BoostHeaderVersion()
{
std::stringstream ss;
ss << BOOST_VERSION;
return ss.str();
}
inline
std::string DependencyVersions()
{
std::stringstream ss;
ss << "Compiled against Boost headers " << BoostHeaderVersion() << "\n\n";
return ss.str();
}
}// re: namespace bertini