Extract desktop integration stuff into separate class
[qBittorrent.git] / winconf.pri
blob4310af0ab86ea5af596cfc6ed92d172b81c46b5f
1 CONFIG += c++17
3 # After 1.55 some Windows users reported regular UI freezes.
4 # This makes ASIO use the pre-1.56 way of doing things. See issue #2003
5 DEFINES += BOOST_ASIO_DISABLE_CONNECTEX
6 DEFINES += BOOST_EXCEPTION_DISABLE
8 DEFINES += TORRENT_USE_LIBCRYPTO
9 DEFINES += TORRENT_USE_OPENSSL
11 DEFINES += NTDDI_VERSION=0x06010000
12 DEFINES += _WIN32_WINNT=0x0601
13 DEFINES += _WIN32_IE=0x0601
14 DEFINES += UNICODE
15 DEFINES += _UNICODE
16 DEFINES += WIN32
17 DEFINES += _WIN32
18 DEFINES += WIN32_LEAN_AND_MEAN
19 DEFINES += NOMINMAX
21 CONFIG(debug, debug|release) {
22     DEFINES += TORRENT_DEBUG
24 else {
25     DEFINES += NDEBUG
28 win32-g++*|win32-clang-g++* {
29     CONFIG(debug, debug|release) {
30         # Make sure binary is not relocatable, otherwise debugging will fail
31         QMAKE_LFLAGS -= -Wl,--dynamicbase
32     }
34     DEFINES += _FILE_OFFSET_BITS=64
35     DEFINES += __USE_W32_SOCKETS
37     RC_FILE = qbittorrent_mingw.rc
39     LIBS += libadvapi32 libiphlpapi libole32 libpowrprof libshell32 libuser32 libwsock32 libws2_32
41 else:win32-msvc* {
42     CONFIG -= embed_manifest_exe
44     QMAKE_CXXFLAGS += /utf-8
45     QMAKE_LFLAGS += "/MANIFEST:EMBED /MANIFESTINPUT:$$quote($${PWD}/src/qbittorrent.exe.manifest) /STACK:0x800000"
47     RC_FILE = qbittorrent.rc
49     LIBS += advapi32.lib crypt32.lib Iphlpapi.lib ole32.lib PowrProf.lib shell32.lib User32.lib
52 # See an example build configuration in "conf.pri.windows"
53 exists(conf.pri) {
54     include(conf.pri)
56 else {
57     error("'conf.pri' does not exist. See an example configuration in 'conf.pri.windows'.")
60 # Stack trace support can be enabled in 'conf.pri'
61 stacktrace {
62     win32-g++*|win32-clang-g++* {
63         QMAKE_LFLAGS += -Wl,--export-dynamic
65         contains(QMAKE_HOST.arch, x86) {
66             # i686 arch requires frame pointer preservation
67             QMAKE_CXXFLAGS += -fno-omit-frame-pointer
68         }
69     }
70     else:win32-msvc* {
71         QMAKE_CXXFLAGS += /Zi
72         QMAKE_LFLAGS += "/DEBUG /PDBALTPATH:%_PDB%"
74         contains(QMAKE_HOST.arch, x86) {
75             # i686 arch requires frame pointer preservation
76             QMAKE_CXXFLAGS += /Oy-
77         }
78     }