diff --git a/src/main.cpp b/src/main.cpp index d381cc3ac..c82b0b3ac 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -65,7 +65,7 @@ Q_IMPORT_PLUGIN(qico) #include "stacktrace.h" #endif -#if defined(Q_OS_WIN) && defined(STACKTRACE_WIN) +#ifdef STACKTRACE_WIN #include #include "stacktrace_win.h" #include "stacktrace_win_dlg.h" @@ -133,7 +133,7 @@ public: #include "main.moc" -#if defined(Q_WS_X11) || defined(Q_WS_MAC) || defined(Q_OS_WIN) +#if defined(Q_WS_X11) || defined(Q_WS_MAC) || defined(STACKTRACE_WIN) void sigintHandler(int) { signal(SIGINT, 0); qDebug("Catching SIGINT, exiting cleanly"); @@ -333,7 +333,7 @@ int main(int argc, char *argv[]) { #ifndef DISABLE_GUI app.setQuitOnLastWindowClosed(false); #endif -#if defined(Q_WS_X11) || defined(Q_WS_MAC) || defined(Q_OS_WIN) +#if defined(Q_WS_X11) || defined(Q_WS_MAC) || defined(STACKTRACE_WIN) signal(SIGABRT, sigabrtHandler); signal(SIGTERM, sigtermHandler); signal(SIGINT, sigintHandler); diff --git a/src/src.pro b/src/src.pro index e23f3cc22..ae889da72 100644 --- a/src/src.pro +++ b/src/src.pro @@ -239,38 +239,3 @@ TRANSLATIONS = $$LANG_PATH/qbittorrent_fr.ts \ $$LANG_PATH/qbittorrent_be.ts \ $$LANG_PATH/qbittorrent_eu.ts \ $$LANG_PATH/qbittorrent_he.ts - -# Windows Stacktrace support -strace_win:win32:{ - contains(QMAKE_HOST.arch, x86):{ - # i686 arch requires frame pointer preservation - win32-g++:{ - QMAKE_CXXFLAGS_RELEASE += -fno-omit-frame-pointer - QMAKE_CXXFLAGS_DEBUG += -fno-omit-frame-pointer - } - win32-msvc*:{ - QMAKE_CXXFLAGS_RELEASE += -Oy- - QMAKE_CXXFLAGS_DEBUG += -Oy- - } - } - - # Generate debug info in release builds - release:{ - #win32-g++:{ - # QMAKE_CXXFLAGS_RELEASE += -g - # QMAKE_LFLAGS_RELEASE -= -Wl,-s - #} - win32-msvc*:{ - QMAKE_CXXFLAGS_RELEASE += -Zi - QMAKE_LFLAGS += "/DEBUG" - } - } - - DEFINES += STACKTRACE_WIN - win32-msvc*:LIBS += dbghelp.lib - win32-g++:LIBS += libdbghelp - - FORMS += stacktrace_win_dlg.ui - HEADERS += stacktrace_win.h \ - stacktrace_win_dlg.h -} diff --git a/winconf-mingw.pri b/winconf-mingw.pri index aaf25119c..9a4deac1a 100644 --- a/winconf-mingw.pri +++ b/winconf-mingw.pri @@ -1,3 +1,16 @@ +strace_win:{ + contains(QMAKE_HOST.arch, x86):{ + # i686 arch requires frame pointer preservation + QMAKE_CXXFLAGS_RELEASE += -fno-omit-frame-pointer + QMAKE_CXXFLAGS_DEBUG += -fno-omit-frame-pointer + } + release:{ + #QMAKE_CXXFLAGS_RELEASE += -g + #QMAKE_LFLAGS_RELEASE -= -Wl,-s + } + LIBS += libdbghelp +} + RC_FILE = qbittorrent_mingw.rc #You need to link with libtorrent > 0.15.5 (or svn) and you must diff --git a/winconf-msvc.pri b/winconf-msvc.pri index b56a1f01f..89bc9c215 100644 --- a/winconf-msvc.pri +++ b/winconf-msvc.pri @@ -1,3 +1,16 @@ +strace_win:{ + contains(QMAKE_HOST.arch, x86):{ + # i686 arch requires frame pointer preservation + QMAKE_CXXFLAGS_RELEASE += -Oy- + QMAKE_CXXFLAGS_DEBUG += -Oy- + } + release:{ + QMAKE_CXXFLAGS_RELEASE += -Zi + QMAKE_LFLAGS += "/DEBUG" + } + LIBS += dbghelp.lib +} + RC_FILE = qbittorrent.rc # Enable Wide characters diff --git a/winconf.pri b/winconf.pri index 68812042e..c97b30726 100644 --- a/winconf.pri +++ b/winconf.pri @@ -36,6 +36,16 @@ CONFIG(debug, debug|release) { DEFINES += NDEBUG } +#Enable backtrace support +CONFIG += strace_win + +strace_win:{ + DEFINES += STACKTRACE_WIN + FORMS += stacktrace_win_dlg.ui + HEADERS += stacktrace_win.h \ + stacktrace_win_dlg.h +} + win32-g++ { include(winconf-mingw.pri) }