X-Git-Url: http://git.osdn.net/view?p=mutilities%2FMUtilities.git;a=blobdiff_plain;f=include%2FMUtils%2FVersion.h;h=6ab6ca3638deb972d075103fec61d666fd5c8e4f;hp=dfae3e9baea3c4bae61e19efd62452bf1329f37f;hb=7af7321266e40aa313a9b9ca0fbfec64345f4dbc;hpb=6b3f9fef735f799a66f28dc5e52bfbb0ca2d77e8 diff --git a/include/MUtils/Version.h b/include/MUtils/Version.h index dfae3e9..6ab6ca3 100644 --- a/include/MUtils/Version.h +++ b/include/MUtils/Version.h @@ -1,6 +1,6 @@ /////////////////////////////////////////////////////////////////////////////// // MuldeR's Utilities for Qt -// Copyright (C) 2004-2014 LoRd_MuldeR +// Copyright (C) 2004-2019 LoRd_MuldeR // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public @@ -31,94 +31,164 @@ namespace MUtils { - class MUTILS_API Version + class Version { public: - //Get Build Date - static const QDate build_date(const char *const date_str = build_date_raw()); + //Get Library Version Numbers + MUTILS_API static const quint32 &lib_version_major(void); + MUTILS_API static const quint32 &lib_version_minor(void); - //Get Build Time - static const QTime build_time(const char *const time_str = build_time_raw()); + //Get Library Build Date/Time + MUTILS_API static const QDate lib_build_date(void); + MUTILS_API static const QTime lib_build_time(void); + + //Get Application Build Date/Time + MUTILS_API static const QDate app_build_date(const char *const date_str = build_date_raw()); + MUTILS_API static const QTime app_build_time(const char *const time_str = build_time_raw()); //Compiler detection static const char *const compiler_version(void) { - #if defined(__INTEL_COMPILER) - #if (__INTEL_COMPILER >= 1500) - static const char *const COMPILER_VERS = "ICL 15." MUTILS_MAKE_STRING(__INTEL_COMPILER_BUILD_DATE); - #elif (__INTEL_COMPILER >= 1400) - static const char *const COMPILER_VERS = "ICL 14." MUTILS_MAKE_STRING(__INTEL_COMPILER_BUILD_DATE); - #elif (__INTEL_COMPILER >= 1300) - static const char *const COMPILER_VERS = "ICL 13." MUTILS_MAKE_STRING(__INTEL_COMPILER_BUILD_DATE); - #elif (__INTEL_COMPILER >= 1200) - static const char *const COMPILER_VERS = "ICL 12." MUTILS_MAKE_STRING(__INTEL_COMPILER_BUILD_DATE); - #elif (__INTEL_COMPILER >= 1100) - static const char *const COMPILER_VERS = "ICL 11.x"; - #elif (__INTEL_COMPILER >= 1000) - static const char *const COMPILER_VERS = "ICL 10.x"; - #else - #error Compiler is not supported! - #endif - #elif defined(_MSC_VER) - #if (_MSC_VER == 1800) - #if (_MSC_FULL_VER == 180021005) - static const char *const COMPILER_VERS = "MSVC 2013"; - #elif (_MSC_FULL_VER == 180030501) - static const char *const COMPILER_VERS = "MSVC 2013.2"; - #elif (_MSC_FULL_VER == 180030723) - static const char *const COMPILER_VERS = "MSVC 2013.3"; - #elif (_MSC_FULL_VER == 180031101) - static const char *const COMPILER_VERS = "MSVC 2013.4"; + static const char *const COMPILER_VERS = + #if defined(__INTEL_COMPILER) + #if (__INTEL_COMPILER >= 1500) + "ICL 15." MUTILS_MAKE_STRING(__INTEL_COMPILER_BUILD_DATE); + #elif (__INTEL_COMPILER >= 1400) + "ICL 14." MUTILS_MAKE_STRING(__INTEL_COMPILER_BUILD_DATE); + #elif (__INTEL_COMPILER >= 1300) + "ICL 13." MUTILS_MAKE_STRING(__INTEL_COMPILER_BUILD_DATE); + #elif (__INTEL_COMPILER >= 1200) + "ICL 12." MUTILS_MAKE_STRING(__INTEL_COMPILER_BUILD_DATE); + #elif (__INTEL_COMPILER >= 1100) + "ICL 11.x"; + #elif (__INTEL_COMPILER >= 1000) + "ICL 10.x"; #else - #error Compiler version is not supported yet! + #error Compiler is not supported! #endif - #elif (_MSC_VER == 1700) - #if (_MSC_FULL_VER == 170050727) - static const char *const COMPILER_VERS = "MSVC 2012"; - #elif (_MSC_FULL_VER == 170051106) - static const char *const COMPILER_VERS = "MSVC 2012.1"; - #elif (_MSC_FULL_VER == 170060315) - static const char *const COMPILER_VERS = "MSVC 2012.2"; - #elif (_MSC_FULL_VER == 170060610) - static const char *const COMPILER_VERS = "MSVC 2012.3"; - #elif (_MSC_FULL_VER == 170061030) - static const char *const COMPILER_VERS = "MSVC 2012.4"; + #elif defined(_MSC_VER) + #if (_MSC_VER == 1921) + #if((_MSC_FULL_VER >= 192127702) && (_MSC_FULL_VER <= 192127702)) + "MSVC 2019.1"; + #else + #error Compiler version is not supported yet! + #endif + #elif (_MSC_VER == 1920) + #if((_MSC_FULL_VER >= 192027508) && (_MSC_FULL_VER <= 192027508)) + "MSVC 2019.0"; + #else + #error Compiler version is not supported yet! + #endif + #elif (_MSC_VER == 1916) + #if((_MSC_FULL_VER >= 191627024) && (_MSC_FULL_VER <= 191627032)) + "MSVC 2017.9"; + #else + #error Compiler version is not supported yet! + #endif + #elif (_MSC_VER == 1915) + #if((_MSC_FULL_VER >= 191526726) && (_MSC_FULL_VER <= 191526732)) + "MSVC 2017.8"; + #else + #error Compiler version is not supported yet! + #endif + #elif (_MSC_VER == 1914) + #if((_MSC_FULL_VER >= 191426430) && (_MSC_FULL_VER <= 191426433)) + "MSVC 2017.7"; + #else + #error Compiler version is not supported yet! + #endif + #elif (_MSC_VER == 1913) + #if((_MSC_FULL_VER >= 191326128) && (_MSC_FULL_VER <= 191326132)) + "MSVC 2017.6"; + #else + #error Compiler version is not supported yet! + #endif + #elif (_MSC_VER == 1912) + #if((_MSC_FULL_VER >= 191225830) && (_MSC_FULL_VER <= 191225835)) + "MSVC 2017.5"; + #else + #error Compiler version is not supported yet! + #endif + #elif (_MSC_VER == 1911) + #if((_MSC_FULL_VER >= 191125542) && (_MSC_FULL_VER <= 191125547)) + "MSVC 2017.4"; + #elif((_MSC_FULL_VER >= 191125506) && (_MSC_FULL_VER <= 191125508)) + "MSVC 2017.3"; + #else + #error Compiler version is not supported yet! + #endif + #elif (_MSC_VER == 1910) + #if ((_MSC_FULL_VER >= 191025017) && (_MSC_FULL_VER <= 191025019)) + "MSVC 2017.2"; + #else + #error Compiler version is not supported yet! + #endif + #elif (_MSC_VER == 1900) + #if (_MSC_FULL_VER == 190023026) + "MSVC 2015"; + #elif (_MSC_FULL_VER == 190023506) + "MSVC 2015.1"; + #elif (_MSC_FULL_VER == 190023918) + "MSVC 2015.2"; + #elif (_MSC_FULL_VER == 190024210) || (_MSC_FULL_VER == 190024215) + "MSVC 2015.3"; + #else + #error Compiler version is not supported yet! + #endif + #elif (_MSC_VER == 1800) + #if (_MSC_FULL_VER == 180021005) + "MSVC 2013"; + #elif (_MSC_FULL_VER == 180030501) + "MSVC 2013.2"; + #elif (_MSC_FULL_VER == 180030723) + "MSVC 2013.3"; + #elif (_MSC_FULL_VER == 180031101) + "MSVC 2013.4"; + #elif (_MSC_FULL_VER == 180040629) + "MSVC 2013.5"; + #else + #error Compiler version is not supported yet! + #endif + #elif (_MSC_VER == 1700) + #if (_MSC_FULL_VER == 170050727) + "MSVC 2012"; + #elif (_MSC_FULL_VER == 170051106) + "MSVC 2012.1"; + #elif (_MSC_FULL_VER == 170060315) + "MSVC 2012.2"; + #elif (_MSC_FULL_VER == 170060610) + "MSVC 2012.3"; + #elif (_MSC_FULL_VER == 170061030) + "MSVC 2012.4"; + #else + #error Compiler version is not supported yet! + #endif + #elif (_MSC_VER == 1600) + #if (_MSC_FULL_VER >= 160040219) + "MSVC 2010-SP1"; + #else + "MSVC 2010"; + #endif #else - #error Compiler version is not supported yet! - #endif - #elif (_MSC_VER == 1600) - #if (_MSC_FULL_VER >= 160040219) - static const char *const COMPILER_VERS = "MSVC 2010-SP1"; - #else - static const char *const COMPILER_VERS = "MSVC 2010"; - #endif - #elif (_MSC_VER == 1500) - #if (_MSC_FULL_VER >= 150030729) - static const char *const COMPILER_VERS = "MSVC 2008-SP1"; - #else - static const char *const COMPILER_VERS = "MSVC 2008"; + #error Compiler is not supported! #endif #else #error Compiler is not supported! #endif - #else - #error Compiler is not supported! - #endif - return COMPILER_VERS; } //Architecture detection static const char *const compiler_arch(void) { - #if defined(_M_X64) - static const char *const COMPILER_ARCH = "x64"; - #elif defined(_M_IX86) - static const char *const COMPILER_ARCH = "x86"; - #else - #error Architecture is not supported! - #endif - + static const char *const COMPILER_ARCH = + #if defined(_M_X64) + "x64"; + #elif defined(_M_IX86) + "x86"; + #else + #error Architecture is not supported! + #endif return COMPILER_ARCH; } @@ -130,7 +200,7 @@ namespace MUtils return RAW_BUILD_DATE; } - //Raw Build date + //Raw Build time static const char *const build_time_raw(void) { static const char *const RAW_BUILD_TIME = __TIME__;