$extrastylesheet
00001 // The libMesh Finite Element Library. 00002 // Copyright (C) 2002-2014 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner 00003 00004 // This library is free software; you can redistribute it and/or 00005 // modify it under the terms of the GNU Lesser General Public 00006 // License as published by the Free Software Foundation; either 00007 // version 2.1 of the License, or (at your option) any later version. 00008 00009 // This library is distributed in the hope that it will be useful, 00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 // Lesser General Public License for more details. 00013 00014 // You should have received a copy of the GNU Lesser General Public 00015 // License along with this library; if not, write to the Free Software 00016 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00017 00018 #include "libmesh/libmesh_version.h" 00019 00020 void libMesh::libmesh_version_stdout() 00021 { 00022 std::cout << "--------------------------------------------------------" << std::endl; 00023 std::cout << "libMesh Library: Version = " << LIBMESH_LIB_VERSION; 00024 std::cout << " (" << get_libmesh_version() << ")" << std::endl << std::endl; 00025 00026 std::cout << LIBMESH_LIB_RELEASE << std::endl << std::endl; 00027 00028 std::cout << "Build Date = " << LIBMESH_BUILD_DATE << std::endl; 00029 std::cout << "Build Host = " << LIBMESH_BUILD_HOST << std::endl; 00030 std::cout << "Build User = " << LIBMESH_BUILD_USER << std::endl; 00031 std::cout << "Build Arch = " << LIBMESH_BUILD_ARCH << std::endl; 00032 std::cout << "Build Rev = " << LIBMESH_BUILD_VERSION << std::endl << std::endl; 00033 00034 // CXXFLAGS is ambiguous wth multiple methods - could add all three but why not libmesh-config? 00035 //std::cout << "C++ Config = " << LIBMESH_CXX << " " << LIBMESH_CXXFLAGS << std::endl; 00036 std::cout << "--------------------------------------------------------" << std::endl; 00037 00038 return; 00039 } 00040 00041 00042 00043 int libMesh::get_libmesh_version() 00044 { 00045 /* Note: return format follows the versioning convention xx.yy.zz where 00046 00047 xx = major version number 00048 yy = minor version number 00049 zz = micro version number 00050 00051 For example: 00052 v. 0.23 -> 002300 = 2300 00053 v 0.23.1 -> 002301 = 2301 00054 v. 10.23.2 -> 102302 */ 00055 00056 int major_version = 0; 00057 int minor_version = 0; 00058 int micro_version = 0; 00059 00060 #ifdef LIBMESH_MAJOR_VERSION 00061 major_version = LIBMESH_MAJOR_VERSION; 00062 #endif 00063 00064 #ifdef LIBMESH_MINOR_VERSION 00065 minor_version = LIBMESH_MINOR_VERSION; 00066 #endif 00067 00068 #ifdef LIBMESH_MICRO_VERSION 00069 micro_version = LIBMESH_MICRO_VERSION; 00070 #endif 00071 00072 return major_version*10000 + minor_version*100 + micro_version; 00073 } 00074 00075 00076 00077 std::string libMesh::get_io_compatibility_version () 00078 { 00079 std::string retval(LIBMESH_IO_COMPATIBILITY_VERSION); 00080 return retval; 00081 }