diff --git a/Telegram/Resources/winrc/Telegram.rc b/Telegram/Resources/winrc/Telegram.rc index 983ed4d62..a456e1856 100644 --- a/Telegram/Resources/winrc/Telegram.rc +++ b/Telegram/Resources/winrc/Telegram.rc @@ -34,8 +34,8 @@ IDI_ICON1 ICON "..\\art\\icon256.ico" // VS_VERSION_INFO VERSIONINFO - FILEVERSION 0,10,5,0 - PRODUCTVERSION 0,10,5,0 + FILEVERSION 0,10,6,0 + PRODUCTVERSION 0,10,6,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -51,10 +51,10 @@ BEGIN BLOCK "040904b0" BEGIN VALUE "CompanyName", "Telegram Messenger LLP" - VALUE "FileVersion", "0.10.5.0" + VALUE "FileVersion", "0.10.6.0" VALUE "LegalCopyright", "Copyright (C) 2014-2016" VALUE "ProductName", "Telegram Desktop" - VALUE "ProductVersion", "0.10.5.0" + VALUE "ProductVersion", "0.10.6.0" END END BLOCK "VarFileInfo" diff --git a/Telegram/Resources/winrc/Updater.rc b/Telegram/Resources/winrc/Updater.rc index aec484524..34bd669ad 100644 --- a/Telegram/Resources/winrc/Updater.rc +++ b/Telegram/Resources/winrc/Updater.rc @@ -25,8 +25,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US // VS_VERSION_INFO VERSIONINFO - FILEVERSION 0,10,5,0 - PRODUCTVERSION 0,10,5,0 + FILEVERSION 0,10,6,0 + PRODUCTVERSION 0,10,6,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -43,10 +43,10 @@ BEGIN BEGIN VALUE "CompanyName", "Telegram Messenger LLP" VALUE "FileDescription", "Telegram Updater" - VALUE "FileVersion", "0.10.5.0" + VALUE "FileVersion", "0.10.6.0" VALUE "LegalCopyright", "Copyright (C) 2014-2016" VALUE "ProductName", "Telegram Desktop" - VALUE "ProductVersion", "0.10.5.0" + VALUE "ProductVersion", "0.10.6.0" END END BLOCK "VarFileInfo" diff --git a/Telegram/SourceFiles/_other/updater_osx.m b/Telegram/SourceFiles/_other/updater_osx.m index 2c532fdd5..07e017aee 100644 --- a/Telegram/SourceFiles/_other/updater_osx.m +++ b/Telegram/SourceFiles/_other/updater_osx.m @@ -160,6 +160,21 @@ int main(int argc, const char * argv[]) { writeLog([@"Starting update files iteration, path: " stringByAppendingString: srcEnum]); + // Take the Updater (this currently running binary) from the place where it was placed by Telegram + // and copy it to the folder with the new version of the app (ready), + // so it won't be deleted when we will clear the "Telegram.app/Contents" folder. + NSString *oldVersionUpdaterPath = [appDirFull stringByAppendingString: @"/Contents/Frameworks/Updater" ]; + NSString *newVersionUpdaterPath = [srcEnum stringByAppendingString:[[NSArray arrayWithObjects:@"/", appName, @"/Contents/Frameworks/Updater", nil] componentsJoinedByString:@""]]; + writeLog([[NSArray arrayWithObjects: @"Copying Updater from old path ", oldVersionUpdaterPath, @" to new path ", newVersionUpdaterPath, nil] componentsJoinedByString:@""]); + if (![fileManager fileExistsAtPath:newVersionUpdaterPath]) { + if (![fileManager copyItemAtPath:oldVersionUpdaterPath toPath:newVersionUpdaterPath error:nil]) { + writeLog([[NSArray arrayWithObjects: @"Failed to copy file from ", oldVersionUpdaterPath, @" to ", newVersionUpdaterPath, nil] componentsJoinedByString:@""]); + delFolder(); + return -1; + } + } + + NSString *contentsPath = [appDirFull stringByAppendingString: @"/Contents"]; writeLog([[NSArray arrayWithObjects: @"Clearing dir ", contentsPath, nil] componentsJoinedByString:@""]); if (![fileManager removeItemAtPath:contentsPath error:nil]) { diff --git a/Telegram/SourceFiles/application.cpp b/Telegram/SourceFiles/application.cpp index 3326b9c5f..90c06fb18 100644 --- a/Telegram/SourceFiles/application.cpp +++ b/Telegram/SourceFiles/application.cpp @@ -126,6 +126,13 @@ Application::Application(int &argc, char **argv) : QApplication(argc, argv) { } } +bool Application::event(QEvent *e) { + if (e->type() == QEvent::Close) { + App::quit(); + } + return QApplication::event(e); +} + void Application::socketConnected() { LOG(("Socket connected, this is not the first application instance, sending show command...")); _secondInstance = true; diff --git a/Telegram/SourceFiles/application.h b/Telegram/SourceFiles/application.h index 025164cd6..60c2d520b 100644 --- a/Telegram/SourceFiles/application.h +++ b/Telegram/SourceFiles/application.h @@ -28,12 +28,12 @@ class Application : public QApplication { Q_OBJECT public: - Application(int &argc, char **argv); + bool event(QEvent *e) override; + // Single instance application public slots: - void socketConnected(); void socketError(QLocalSocket::LocalSocketError e); void socketDisconnected(); @@ -48,7 +48,6 @@ public slots: void closeApplication(); // will be done in aboutToQuit() private: - typedef QPair LocalClient; typedef QList LocalClients; @@ -64,7 +63,6 @@ private: // Autoupdating public: - void startUpdateCheck(bool forceWait); void stopUpdate(); @@ -78,7 +76,6 @@ public: int32 updatingReady(); signals: - void updateChecking(); void updateLatest(); void updateProgress(qint64 ready, qint64 total); @@ -86,7 +83,6 @@ signals: void updateFailed(); public slots: - void updateCheck(); void updateGotCurrent(); @@ -96,7 +92,6 @@ public slots: void onUpdateFailed(); private: - SingleTimer _updateCheckTimer; QNetworkReply *_updateReply = nullptr; QNetworkAccessManager _updateManager; diff --git a/Telegram/SourceFiles/core/version.h b/Telegram/SourceFiles/core/version.h index a2627a7ce..1e2acd471 100644 --- a/Telegram/SourceFiles/core/version.h +++ b/Telegram/SourceFiles/core/version.h @@ -24,7 +24,7 @@ Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org #define BETA_VERSION_MACRO (0ULL) -constexpr int AppVersion = 10005; -constexpr str_const AppVersionStr = "0.10.5"; +constexpr int AppVersion = 10006; +constexpr str_const AppVersionStr = "0.10.6"; constexpr bool AppAlphaVersion = false; constexpr uint64 AppBetaVersion = BETA_VERSION_MACRO; diff --git a/Telegram/SourceFiles/history.cpp b/Telegram/SourceFiles/history.cpp index a8a255332..df5e715af 100644 --- a/Telegram/SourceFiles/history.cpp +++ b/Telegram/SourceFiles/history.cpp @@ -5902,7 +5902,9 @@ void LocationManager::init() { App::setProxySettings(*manager); connect(manager, SIGNAL(authenticationRequired(QNetworkReply*, QAuthenticator*)), this, SLOT(onFailed(QNetworkReply*))); +#ifndef OS_MAC_OLD connect(manager, SIGNAL(sslErrors(QNetworkReply*, const QList&)), this, SLOT(onFailed(QNetworkReply*))); +#endif // OS_MAC_OLD connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(onFinished(QNetworkReply*))); if (black) { diff --git a/Telegram/SourceFiles/localstorage.cpp b/Telegram/SourceFiles/localstorage.cpp index b48e63d25..e247a5083 100644 --- a/Telegram/SourceFiles/localstorage.cpp +++ b/Telegram/SourceFiles/localstorage.cpp @@ -581,6 +581,7 @@ namespace { FileKey _backgroundKey = 0; bool _backgroundWasRead = false; + bool _readingUserSettings = false; FileKey _userSettingsKey = 0; FileKey _recentHashtagsAndBotsKey = 0; bool _recentHashtagsAndBotsWereRead = false; @@ -1548,6 +1549,12 @@ namespace { } void _writeUserSettings() { + if (_readingUserSettings) { + LOG(("App Error: attempt to write settings while reading them!")); + return; + } + LOG(("App Info: writing encrypted user settings...")); + if (!_userSettingsKey) { _userSettingsKey = genKey(); _mapChanged = true; @@ -1622,22 +1629,28 @@ namespace { void _readUserSettings() { FileReadDescriptor userSettings; if (!readEncryptedFile(userSettings, _userSettingsKey)) { + LOG(("App Info: could not read encrypted user settings...")); _readOldUserSettings(); return _writeUserSettings(); } LOG(("App Info: reading encrypted user settings...")); + _readingUserSettings = true; while (!userSettings.stream.atEnd()) { quint32 blockId; userSettings.stream >> blockId; if (!_checkStreamStatus(userSettings.stream)) { + _readingUserSettings = false; return _writeUserSettings(); } if (!_readSetting(blockId, userSettings.stream, userSettings.version)) { + _readingUserSettings = false; return _writeUserSettings(); } } + _readingUserSettings = false; + LOG(("App Info: encrypted user settings read.")); } void _writeMtpData() { diff --git a/Telegram/SourceFiles/mediaview.cpp b/Telegram/SourceFiles/mediaview.cpp index 4f3b2604e..77eb491d7 100644 --- a/Telegram/SourceFiles/mediaview.cpp +++ b/Telegram/SourceFiles/mediaview.cpp @@ -520,6 +520,74 @@ void MediaView::step_radial(uint64 ms, bool timer) { } } +void MediaView::zoomIn() { + int32 newZoom = _zoom; + if (newZoom == ZoomToScreenLevel) { + if (qCeil(_zoomToScreen) <= MaxZoomLevel) { + newZoom = qCeil(_zoomToScreen); + } + } else { + if (newZoom < _zoomToScreen && (newZoom + 1 > _zoomToScreen || (_zoomToScreen > MaxZoomLevel && newZoom == MaxZoomLevel))) { + newZoom = ZoomToScreenLevel; + } else if (newZoom < MaxZoomLevel) { + ++newZoom; + } + } + zoomUpdate(newZoom); +} + +void MediaView::zoomOut() { + int32 newZoom = _zoom; + if (newZoom == ZoomToScreenLevel) { + if (qFloor(_zoomToScreen) >= -MaxZoomLevel) { + newZoom = qFloor(_zoomToScreen); + } + } else { + if (newZoom > _zoomToScreen && (newZoom - 1 < _zoomToScreen || (_zoomToScreen < -MaxZoomLevel && newZoom == -MaxZoomLevel))) { + newZoom = ZoomToScreenLevel; + } else if (newZoom > -MaxZoomLevel) { + --newZoom; + } + } + zoomUpdate(newZoom); +} + +void MediaView::zoomReset() { + int32 newZoom = _zoom; + if (_zoom == 0) { + if (qFloor(_zoomToScreen) == qCeil(_zoomToScreen) && qRound(_zoomToScreen) >= -MaxZoomLevel && qRound(_zoomToScreen) <= MaxZoomLevel) { + newZoom = qRound(_zoomToScreen); + } else { + newZoom = ZoomToScreenLevel; + } + } else { + newZoom = 0; + } + _x = -_width / 2; + _y = -((gifShown() ? _gif->height() : (_current.height() / cIntRetinaFactor())) / 2); + float64 z = (_zoom == ZoomToScreenLevel) ? _zoomToScreen : _zoom; + if (z >= 0) { + _x = qRound(_x * (z + 1)); + _y = qRound(_y * (z + 1)); + } else { + _x = qRound(_x / (-z + 1)); + _y = qRound(_y / (-z + 1)); + } + _x += width() / 2; + _y += height() / 2; + update(); + zoomUpdate(newZoom); +} + +void MediaView::zoomUpdate(int32 &newZoom) { + if (newZoom != ZoomToScreenLevel) { + while ((newZoom < 0 && (-newZoom + 1) > _w) || (-newZoom + 1) > _h) { + ++newZoom; + } + } + setZoomLevel(newZoom); +} + void MediaView::clearData() { if (!isHidden()) { hide(); @@ -1810,62 +1878,49 @@ void MediaView::keyPressEvent(QKeyEvent *e) { moveToNext(-1); } else if (e->key() == Qt::Key_Right) { moveToNext(1); - } else if (e->modifiers().testFlag(Qt::ControlModifier) && (e->key() == Qt::Key_Plus || e->key() == Qt::Key_Equal || e->key() == ']' || e->key() == Qt::Key_Asterisk || e->key() == Qt::Key_Minus || e->key() == Qt::Key_Underscore || e->key() == Qt::Key_0)) { - int32 newZoom = _zoom; - if (e->key() == Qt::Key_Plus || e->key() == Qt::Key_Equal || e->key() == Qt::Key_Asterisk || e->key() == ']') { - if (newZoom == ZoomToScreenLevel) { - if (qCeil(_zoomToScreen) <= MaxZoomLevel) { - newZoom = qCeil(_zoomToScreen); - } - } else { - if (newZoom < _zoomToScreen && (newZoom + 1 > _zoomToScreen || (_zoomToScreen > MaxZoomLevel && newZoom == MaxZoomLevel))) { - newZoom = ZoomToScreenLevel; - } else if (newZoom < MaxZoomLevel) { - ++newZoom; - } - } + } else if (e->modifiers().testFlag(Qt::ControlModifier) && (e->key() == Qt::Key_Plus || e->key() == Qt::Key_Equal || e->key() == ']' || e->key() == Qt::Key_Asterisk || e->key() == Qt::Key_Minus || e->key() == Qt::Key_Underscore || e->key() == Qt::Key_0)) { + if (e->key() == Qt::Key_Plus || e->key() == Qt::Key_Equal || e->key() == Qt::Key_Asterisk || e->key() == ']') { + zoomIn(); } else if (e->key() == Qt::Key_Minus || e->key() == Qt::Key_Underscore) { - if (newZoom == ZoomToScreenLevel) { - if (qFloor(_zoomToScreen) >= -MaxZoomLevel) { - newZoom = qFloor(_zoomToScreen); - } + zoomOut(); + } else { + zoomReset(); + } + } +} + +void MediaView::wheelEvent(QWheelEvent *e) { +#ifdef OS_MAC_OLD + constexpr auto step = 120; +#else // OS_MAC_OLD + constexpr auto step = static_cast(QWheelEvent::DefaultDeltasPerStep); +#endif // OS_MAC_OLD + + _verticalWheelDelta += e->angleDelta().y(); + while (qAbs(_verticalWheelDelta) >= step) { + if (_verticalWheelDelta < 0) { + _verticalWheelDelta += step; + if (e->modifiers().testFlag(Qt::ControlModifier)) { + zoomOut(); } else { - if (newZoom > _zoomToScreen && (newZoom - 1 < _zoomToScreen || (_zoomToScreen < -MaxZoomLevel && newZoom == -MaxZoomLevel))) { - newZoom = ZoomToScreenLevel; - } else if (newZoom > -MaxZoomLevel) { - --newZoom; +#ifndef OS_MAC_OLD + if (e->source() == Qt::MouseEventNotSynthesized) { + moveToNext(1); } +#endif // OS_MAC_OLD } } else { - if (_zoom == 0) { - if (qFloor(_zoomToScreen) == qCeil(_zoomToScreen) && qRound(_zoomToScreen) >= -MaxZoomLevel && qRound(_zoomToScreen) <= MaxZoomLevel) { - newZoom = qRound(_zoomToScreen); - } else { - newZoom = ZoomToScreenLevel; + _verticalWheelDelta -= step; + if (e->modifiers().testFlag(Qt::ControlModifier)) { + zoomIn(); + } else { +#ifndef OS_MAC_OLD + if (e->source() == Qt::MouseEventNotSynthesized) { + moveToNext(-1); } - } else { - newZoom = 0; - } - _x = -_width / 2; - _y = -((gifShown() ? _gif->height() : (_current.height() / cIntRetinaFactor())) / 2); - float64 z = (_zoom == ZoomToScreenLevel) ? _zoomToScreen : _zoom; - if (z >= 0) { - _x = qRound(_x * (z + 1)); - _y = qRound(_y * (z + 1)); - } else { - _x = qRound(_x / (-z + 1)); - _y = qRound(_y / (-z + 1)); - } - _x += width() / 2; - _y += height() / 2; - update(); - } - if (newZoom != ZoomToScreenLevel) { - while ((newZoom < 0 && (-newZoom + 1) > _w) || (-newZoom + 1) > _h) { - ++newZoom; +#endif // OS_MAC_OLD } } - setZoomLevel(newZoom); } } @@ -2114,6 +2169,8 @@ void MediaView::mousePressEvent(QMouseEvent *e) { _yStart = _y; } } + } else if (e->button() == Qt::MiddleButton) { + zoomReset(); } activateControls(); } diff --git a/Telegram/SourceFiles/mediaview.h b/Telegram/SourceFiles/mediaview.h index c33222545..ff1e85b6a 100644 --- a/Telegram/SourceFiles/mediaview.h +++ b/Telegram/SourceFiles/mediaview.h @@ -107,6 +107,7 @@ protected: void paintEvent(QPaintEvent *e) override; void keyPressEvent(QKeyEvent *e) override; + void wheelEvent(QWheelEvent *e) override; void mousePressEvent(QMouseEvent *e) override; void mouseDoubleClickEvent(QMouseEvent *e) override; void mouseMoveEvent(QMouseEvent *e) override; @@ -170,6 +171,11 @@ private: void step_state(uint64 ms, bool timer); void step_radial(uint64 ms, bool timer); + void zoomIn(); + void zoomOut(); + void zoomReset(); + void zoomUpdate(int32 &newZoom); + void paintDocRadialLoading(Painter &p, bool radial, float64 radialOpacity); QBrush _transparentBrush; @@ -316,6 +322,8 @@ private: typedef QMap ShowingOpacities; ShowingOpacities _animOpacities; + int _verticalWheelDelta = 0; + void updateOverRect(OverState state); bool updateOverState(OverState newState); float64 overLevel(OverState control) const; diff --git a/Telegram/SourceFiles/mtproto/file_download.cpp b/Telegram/SourceFiles/mtproto/file_download.cpp index 34e0a5f2f..e4623dbc9 100644 --- a/Telegram/SourceFiles/mtproto/file_download.cpp +++ b/Telegram/SourceFiles/mtproto/file_download.cpp @@ -818,7 +818,9 @@ WebLoadManager::WebLoadManager(QThread *thread) { connect(this, SIGNAL(error(webFileLoader*)), _webLoadMainManager, SLOT(error(webFileLoader*))); connect(&_manager, SIGNAL(authenticationRequired(QNetworkReply*,QAuthenticator*)), this, SLOT(onFailed(QNetworkReply*))); +#ifndef OS_MAC_OLD connect(&_manager, SIGNAL(sslErrors(QNetworkReply*,const QList&)), this, SLOT(onFailed(QNetworkReply*))); +#endif // OS_MAC_OLD } void WebLoadManager::append(webFileLoader *loader, const QString &url) { @@ -1108,4 +1110,4 @@ void notifyImageLoaded() { } } // namespace internal -} \ No newline at end of file +} diff --git a/Telegram/build/version b/Telegram/build/version index 2014aa445..a1bfbfb6e 100644 --- a/Telegram/build/version +++ b/Telegram/build/version @@ -1,6 +1,6 @@ -AppVersion 10005 +AppVersion 10006 AppVersionStrMajor 0.10 -AppVersionStrSmall 0.10.5 -AppVersionStr 0.10.5 +AppVersionStrSmall 0.10.6 +AppVersionStr 0.10.6 AlphaChannel 0 BetaVersion 0 diff --git a/Telegram/gyp/PrecompiledHeader.cmake b/Telegram/gyp/PrecompiledHeader.cmake index 8b899e467..fc189e4a1 100644 --- a/Telegram/gyp/PrecompiledHeader.cmake +++ b/Telegram/gyp/PrecompiledHeader.cmake @@ -102,6 +102,8 @@ function(add_precompiled_header _target _input) OUTPUT "${_pchfile}" COMMAND "${CMAKE_COMMAND}" -E copy "${_pch_header}" "${_pchfile}" DEPENDS "${_pch_header}" + IMPLICIT_DEPENDS CXX "${_pch_header}" + IMPLICIT_DEPENDS C "${_pch_header}" COMMENT "Updating ${_name}") if(_source_for_c_flags) @@ -112,6 +114,7 @@ function(add_precompiled_header _target _input) OUTPUT "${_output_c}" COMMAND "${CMAKE_C_COMPILER}" ${_compiler_FLAGS} -x c-header -o "${_output_c}" -c "${_pchfile}" DEPENDS "${_pchfile}" "${_pch_c_flags_file}" + IMPLICIT_DEPENDS C "${_pch_header}" COMMENT "Precompiling ${_name} for ${_target} (C)") endif() if(_source_for_cpp_flags) @@ -122,6 +125,7 @@ function(add_precompiled_header _target _input) OUTPUT "${_output_cxx}" COMMAND "${CMAKE_CXX_COMPILER}" ${_compiler_FLAGS} -x c++-header -o "${_output_cxx}" -c "${_pchfile}" DEPENDS "${_pchfile}" "${_pch_cpp_flags_file}" + IMPLICIT_DEPENDS CXX "${_pch_header}" COMMENT "Precompiling ${_name} for ${_target} (C++)") endif() diff --git a/Telegram/gyp/qt.gypi b/Telegram/gyp/qt.gypi index ea6f0f55b..5ef32496a 100644 --- a/Telegram/gyp/qt.gypi +++ b/Telegram/gyp/qt.gypi @@ -101,7 +101,6 @@ 'fontconfig', 'expat', 'freetype', - 'xcb', 'xcb-shm', 'xcb-xfixes', 'xcb-render', @@ -192,7 +191,6 @@ '<(qt_loc)/plugins/bearer', '<(qt_loc)/plugins/platforms', '<(qt_loc)/plugins/imageformats', - '<(qt_loc)/plugins/platforminputcontexts', ], 'defines': [ 'QT_WIDGETS_LIB', @@ -203,11 +201,12 @@ 'conditions': [ [ 'build_linux', { 'library_dirs': [ - '<(qt_loc)/plugins/platforms/xcb/xcb-static', + '<(qt_loc)/plugins/platforminputcontexts', ], 'libraries': [ '/usr/local/lib/libxkbcommon.a', '<@(qt_libs_release)', + 'xcb', 'X11', 'X11-xcb', 'dbus-1', diff --git a/Telegram/gyp/refresh.sh b/Telegram/gyp/refresh.sh index 39337e4d0..5a456ce28 100755 --- a/Telegram/gyp/refresh.sh +++ b/Telegram/gyp/refresh.sh @@ -11,7 +11,7 @@ if [ "$MySystem" == "Linux" ]; then ../../../Libraries/gyp/gyp --depth=. --generator-output=../.. -Goutput_dir=out Telegram.gyp --format=cmake cd ../../out/Debug ../../../Libraries/cmake-3.6.2/bin/cmake . - cd ../Release + cd ../Release ../../../Libraries/cmake-3.6.2/bin/cmake . cd ../../Telegram/gyp else @@ -19,7 +19,7 @@ else #gyp --depth=. --generator-output=../.. -Goutput_dir=out Telegram.gyp --format=xcode-ninja #gyp --depth=. --generator-output=../.. -Goutput_dir=out Telegram.gyp --format=xcode # use patched gyp with Xcode project generator - ../../../Libraries/gyp/gyp --depth=. --generator-output=../.. -Goutput_dir=out Telegram.gyp --format=xcode + ../../../Libraries/gyp/gyp --depth=. --generator-output=../.. -Goutput_dir=out Telegram.gyp -Gxcode_upgrade_check_project_version=800 --format=xcode fi cd ../.. diff --git a/Telegram/gyp/utils.gyp b/Telegram/gyp/utils.gyp index 117c87aa5..209c73704 100644 --- a/Telegram/gyp/utils.gyp +++ b/Telegram/gyp/utils.gyp @@ -91,14 +91,22 @@ 'lzma', ], }], + [ 'build_mac', { + 'include_dirs': [ + '<(libs_loc)/openssl-xcode/include' + ], + 'library_dirs': [ + '<(libs_loc)/openssl-xcode', + ], + 'xcode_settings': { + 'OTHER_LDFLAGS': [ + '-lssl', + '-lcrypto', + '-llzma', + ], + }, + }], ], - 'xcode_settings': { - 'OTHER_LDFLAGS': [ - '-lssl', - '-lcrypto', - '-llzma', - ], - }, 'include_dirs': [ '<(src_loc)', '<(libs_loc)/lzma/C', diff --git a/doc/building-msvc.md b/doc/building-msvc.md index b532b6412..64c314f46 100644 --- a/doc/building-msvc.md +++ b/doc/building-msvc.md @@ -205,6 +205,11 @@ If you didn't install Windows SDKs before, you need to install them now. To inst If you already have Windows SDKs then find the library folder and correct it at configure's command below (like **C:\Program Files (x86)\Windows Kits\8.0\Lib\win8\um\x86**). #### Building library +go to Libraries directory + + D: + cd /tbuild/libraries/qt5_6_0/qtbase +and run configure -debug-and-release -force-debug-info -opensource -confirm-license -static -I "D:\TBuild\Libraries\openssl\Release\include" -L "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib" -l Gdi32 -no-opengl -openssl-linked OPENSSL_LIBS_DEBUG="D:\TBuild\Libraries\openssl_debug\Debug\lib\ssleay32.lib D:\TBuild\Libraries\openssl_debug\Debug\lib\libeay32.lib" OPENSSL_LIBS_RELEASE="D:\TBuild\Libraries\openssl\Release\lib\ssleay32.lib D:\TBuild\Libraries\openssl\Release\lib\libeay32.lib" -mp -nomake examples -nomake tests -platform win32-msvc2015 nmake @@ -247,8 +252,8 @@ and run #### Build * Open in VS2015 **D:\TBuild\Libraries\breakpad\src\client\windows\breakpad_client.sln** -* Change "Treat WChar_t As Built in Type" to "No" in all projects & configurations -* Change "Treat Warnings As Errors" to "No" in all projects & configurations +* Change "Treat WChar_t As Built in Type" to "No" in all projects & configurations (should be in project>>properties>>C/C++>>Language) +* Change "Treat Warnings As Errors" to "No" in all projects & configurations (should be in project>>properties>>C/C++>>General) * Build Debug configuration * Build Release configuration