//============================================================================= // // File : KviBuildInfo.cpp // 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. // //============================================================================= #include "KviBuildInfo.h" #include "kvi_sourcesdate.h" #include "kvi_sysbuildinfo.h" #include #include const QStringList feature_list{ "IRC", #ifdef COMPILE_DEBUG_MODE "Debug", #endif #ifdef COMPILE_IPV6_SUPPORT "IPv6", #endif #ifdef COMPILE_CRYPT_SUPPORT "Crypt", #endif #ifdef COMPILE_SSL_SUPPORT "SSL", #endif #ifdef COMPILE_GET_INTERFACE_ADDRESS "IfAddr", #endif #ifndef COMPILE_NO_IPC "IPC", #endif #ifdef COMPILE_KDE_SUPPORT "KDE", #endif #ifdef COMPILE_OSS_SUPPORT "OSS", #endif #ifdef COMPILE_AUDIOFILE_SUPPORT "Audiofile", #endif #ifdef COMPILE_PSEUDO_TRANSPARENCY "Transparency", #endif #ifdef COMPILE_PHONON_SUPPORT "Phonon", #endif #ifdef COMPILE_WEBENGINE_SUPPORT "WebEngine", #endif #ifndef COMPILE_DISABLE_DCC_VIDEO "DCCVideo", #endif #ifndef COMPILE_DISABLE_DCC_VOICE "DCCVoice", #endif #ifdef COMPILE_DCC_CANVAS "DCCCanvas", #endif #ifdef COMPILE_PERL_SUPPORT "Perl", #endif #ifdef COMPILE_PYTHON_SUPPORT "Python", #endif #ifdef COMPILE_ENCHANT_SUPPORT "Enchant", #endif #ifdef COMPILE_WINSPELLCHECKER_SUPPORT "Winspell", #endif // This is not in "else" branch of below because some scripts may need it, // eg. /echo $features(Qt5) to determine if some features only available when Qt5 are present "Qt5", #if(QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)) "Qt6", #endif "KVS" }; namespace KviBuildInfo { QString buildDate() { return QString(KVIRC_BUILD_DATE); } QString buildSourcesDate() { return QString(KVI_SOURCES_DATE); } QString buildCommand() { return QString(KVIRC_BUILD_COMMAND); } QString buildFlags() { return QString(KVIRC_BUILD_FLAGS); } QString buildSystemName() { #ifdef COMPILE_ON_WINDOWS return QString(); #else return QString(KVIRC_BUILD_SYSTEM_NAME); #endif } QString buildCPU() { return QString(KVIRC_BUILD_CPU); } QString buildCompiler() { return QString(KVIRC_BUILD_COMPILER); } QString buildCompilerFlags() { QString flags = QString(KVIRC_BUILD_COMPILER_FLAGS); if(flags.isEmpty()) return QString("N/A"); else return flags; } const char * buildType() { #ifdef COMPILE_DEBUG_MODE return "debug"; #else return "release"; #endif } QString buildRevision() { #ifdef KVIRC_BUILD_REVISION return QString(KVIRC_BUILD_REVISION); #else return QString(); #endif } QString qtVersion() { return QString(QT_VERSION_STR); } QString features() { return feature_list.join(", "); } }