#ifndef _KVI_BUILDINFO_H_ #define _KVI_BUILDINFO_H_ //============================================================================= // // File : KviBuildInfo.h // Creation date : Sat 19 Apr 2008 17:01:57 by Szymon Stefanek // // This file is part of the KVIrc IRC Client distribution // Copyright (C) 2008 Szymon Stefanek // Copyright (C) 2008 Elvio Basello // // This program 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 2 // of the License, or (at your option) any later version. // // This program 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 this program. If not, write to the Free Software Foundation, // Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. // //============================================================================= /** * \file KviBuildInfo.h * \author Szymon Stefanek * \brief Useful functions which returns compilation and runtime info */ #include "kvi_settings.h" #include "kvi_sourcesdate.h" #include class QString; extern KVILIB_API const QStringList feature_list; /** * \namespace KviBuildInfo * \brief This namespace contains information gathered at KVIrc build time. * * This, in fact, is the last time that "cmake" ran and successfully generated the * kvilib Makefile. Since kvilib is generally built with the KVIrc * executable, then you can assume that the information returned * from this namespace strictly applies also to KVIrc. */ namespace KviBuildInfo { /** * \brief Retrieve the latest kvilib/kvirc build date. * \return QString */ extern KVILIB_API QString buildDate(); /** * \brief Returns the date tag applied to the currently compiled Git sources. * \return QString */ extern KVILIB_API QString buildSourcesDate(); /** * \brief Returns the build command used by cmake to create the KVIrc executable. * \return QString */ extern KVILIB_API QString buildCommand(); /** * \brief Returns the build flags * * The build flags were worked out by CMake at compilation time. * \return QString */ extern KVILIB_API QString buildFlags(); /** * \brief Returns the name part of the system * * The system name refers to the one used to build the KVIrc executable. * \return QString */ extern KVILIB_API QString buildSystemName(); /** * \brief Returns a description of the CPU * * The CPU refers to the one used to build the KVIrc executable. * \return QString */ extern KVILIB_API QString buildCPU(); /** * \brief Returns a description of the compiler * * The compiler refers to the one used to build the KVIrc executable. * \return QString */ extern KVILIB_API QString buildCompiler(); /** * \brief Returns a description of the compiler flags * * The flags refer to the ones used to build the KVIrc executable. * \return QString */ extern KVILIB_API QString buildCompilerFlags(); /** * \brief Returns the type of build * \return const char * */ extern KVILIB_API const char * buildType(); /** * \brief Returns the Git revision number of the local repository * \return QString */ extern KVILIB_API QString buildRevision(); /** * \brief Returns the Qt version used to build the KVIrc executable. * \return QString */ extern KVILIB_API QString qtVersion(); /** * \brief Returns the list of features compiled in the KVIrc executable. * \return QString */ extern KVILIB_API QString features(); } #endif //!_KVI_BUILDINFO_H_