Browse Source

Merge pull request #7522 from glassez/winconf

Reformat Windows build configuration files
adaptive-webui-19844
Vladimir Golovnev 7 years ago committed by GitHub
parent
commit
bd1d775ca9
  1. 61
      conf.pri.windows
  2. 35
      winconf-mingw.pri
  3. 32
      winconf-msvc.pri
  4. 92
      winconf.pri

61
conf.pri.windows

@ -0,0 +1,61 @@
# Adapt these paths
# Point these to the include folders
INCLUDEPATH += $$quote(C:/qBittorrent/boost)
INCLUDEPATH += $$quote(C:/qBittorrent/libtorrent/include)
INCLUDEPATH += $$quote(C:/qBittorrent/zlib/include)
INCLUDEPATH += $$quote(C:/qBittorrent/openssl/include)
# Point these to the lib folders
LIBS += $$quote(-LC:/qBittorrent/boost/stage/lib)
LIBS += $$quote(-LC:/qBittorrent/libtorrent/lib)
LIBS += $$quote(-LC:/qBittorrent/zlib/lib)
LIBS += $$quote(-LC:/qBittorrent/openssl/lib)
# Adapt the lib names/versions accordingly
# If you want to use Boost auto-linking then disable
# BOOST_ALL_NO_LIB below and omit Boost libraries here
CONFIG(debug, debug|release) {
LIBS += libtorrentd.lib \
libboost_system-vc140-mt-sgd-1_64.lib
}
else {
LIBS += libtorrent.lib \
libboost_system-vc140-mt-s-1_64.lib
}
LIBS += libeay32.lib ssleay32.lib
LIBS += zlib.lib
# ...or if you use MinGW
#CONFIG(debug, debug|release) {
# LIBS += libtorrent-rasterbar \
# libboost_system-mt
#}
#else {
# LIBS += libtorrent-rasterbar \
# libboost_system-mt
#}
#LIBS += libcrypto libssl
#LIBS += libz
DEFINES += NTDDI_VERSION=0x05010000
DEFINES += _WIN32_WINNT=0x0501
DEFINES += _WIN32_IE=0x0501
# Disable to use Boost auto-linking
DEFINES += BOOST_ALL_NO_LIB
# Use one of the following options
DEFINES += BOOST_SYSTEM_STATIC_LINK
#DEFINES += BOOST_SYSTEM_DYN_LINK
# Boost 1.60+ defaults to Vista+ support. The define below enables XP support again.
DEFINES += BOOST_USE_WINAPI_VERSION=0x0501
# Enable if building against libtorrent 1.0.x (RC_1_0) (static linking)
#DEFINES += BOOST_ASIO_SEPARATE_COMPILATION
# Enable if building against libtorrent 1.0.x (RC_1_0) (dynamic linking)
#DEFINES += BOOST_ASIO_DYN_LINK
# Enable if building against libtorrent 1.1.x (RC_1_1)
# built with this flag defined
#DEFINES += TORRENT_NO_DEPRECATE
# Enable if linking dynamically against libtorrent
#DEFINES += TORRENT_LINKING_SHARED
# Enable stack trace support
CONFIG += strace_win

35
winconf-mingw.pri

@ -1,35 +0,0 @@
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
}
QMAKE_LFLAGS += -Wl,--export-all-symbols
LIBS += libdbghelp
}
CONFIG(debug, debug|release) {
# Make sure binary is not relocatable, otherwise debugging will fail
QMAKE_LFLAGS -= -Wl,--dynamicbase
}
RC_FILE = qbittorrent_mingw.rc
# Adapt the lib names/versions accordingly
CONFIG(debug, debug|release) {
LIBS += libtorrent-rasterbar \
libboost_system-mt \
libboost_filesystem-mt \
libboost_thread_win32-mt
} else {
LIBS += libtorrent-rasterbar \
libboost_system-mt \
libboost_filesystem-mt \
libboost_thread_win32-mt
}
LIBS += libadvapi32 libshell32 libuser32
LIBS += libcrypto libssl libwsock32 libws2_32 libz libiconv
LIBS += libpowrprof

32
winconf-msvc.pri

@ -1,32 +0,0 @@
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
}
CONFIG -= embed_manifest_exe
QMAKE_LFLAGS += "/MANIFEST:EMBED /MANIFESTINPUT:$$quote($${PWD}/src/qbittorrent.exe.manifest) /STACK:0x800000"
QMAKE_LFLAGS_RELEASE += "/OPT:REF /OPT:ICF"
RC_FILE = qbittorrent.rc
# Adapt the lib names/versions accordingly
CONFIG(debug, debug|release) {
LIBS += libtorrentd.lib \
libboost_system-vc90-mt-sgd-1_51.lib
} else {
LIBS += libtorrent.lib \
libboost_system-vc90-mt-s-1_51.lib
}
LIBS += advapi32.lib shell32.lib crypt32.lib User32.lib
LIBS += libeay32.lib ssleay32.lib
LIBS += PowrProf.lib
LIBS += zlib.lib

92
winconf.pri

@ -1,50 +1,18 @@
# Adapt these paths on Windows
# Point this to the boost include folder
INCLUDEPATH += $$quote(C:/qBittorrent/boost_1_51_0)
# Point this to the libtorrent include folder
INCLUDEPATH += $$quote(C:/qBittorrent/RC_0_16/include)
# Point this to the zlib include folder
INCLUDEPATH += $$quote(C:/qBittorrent/Zlib/include)
# Point this to the openssl include folder
INCLUDEPATH += $$quote(C:/qBittorrent/openssl/include)
# Point this to the boost lib folder
LIBS += $$quote(-LC:/qBittorrent/boost_1_51_0/stage/lib)
# Point this to the libtorrent lib folder
LIBS += $$quote(-LC:/qBittorrent/RC_0_16/bin/path-according-to-the-build-options-chosen)
# Point this to the zlib lib folder
LIBS += $$quote(-LC:/qBittorrent/Zlib/lib)
# Point this to the openssl lib folder
LIBS += $$quote(-LC:/qBittorrent/openssl/lib)
# BOOST DEFINES
DEFINES += BOOST_ALL_NO_LIB
DEFINES += BOOST_ASIO_HASH_MAP_BUCKETS=1021 DEFINES += BOOST_ASIO_HASH_MAP_BUCKETS=1021
# Disable this if building against libtorrent 1.1.x (RC_1_1)
DEFINES += BOOST_ASIO_SEPARATE_COMPILATION
# After 1.55 some Windows users reported regular UI freezes. # After 1.55 some Windows users reported regular UI freezes.
# This makes ASIO use the pre-1.56 way of doing things. See issue #2003 # This makes ASIO use the pre-1.56 way of doing things. See issue #2003
DEFINES += BOOST_ASIO_DISABLE_CONNECTEX DEFINES += BOOST_ASIO_DISABLE_CONNECTEX
# Boost 1.60+ defaults to Vista+ support. The define below enables XP support again.
DEFINES += BOOST_USE_WINAPI_VERSION=0x0501
DEFINES += BOOST_EXCEPTION_DISABLE DEFINES += BOOST_EXCEPTION_DISABLE
DEFINES += BOOST_SYSTEM_STATIC_LINK=1
# LIBTORRENT DEFINES
DEFINES += TORRENT_USE_OPENSSL DEFINES += TORRENT_USE_OPENSSL
DEFINES += TORRENT_DISABLE_GEO_IP DEFINES += TORRENT_DISABLE_GEO_IP
DEFINES += TORRENT_DISABLE_RESOLVE_COUNTRIES DEFINES += TORRENT_DISABLE_RESOLVE_COUNTRIES
# QBT DEFINES
DEFINES += UNICODE DEFINES += UNICODE
DEFINES += _UNICODE DEFINES += _UNICODE
DEFINES += WIN32 DEFINES += WIN32
DEFINES += _WIN32 DEFINES += _WIN32
DEFINES += WIN32_LEAN_AND_MEAN DEFINES += WIN32_LEAN_AND_MEAN
DEFINES += NTDDI_VERSION=0x05010000
DEFINES += _WIN32_WINNT=0x0501
DEFINES += _WIN32_IE=0x0501
DEFINES += _CRT_SECURE_NO_DEPRECATE DEFINES += _CRT_SECURE_NO_DEPRECATE
DEFINES += _SCL_SECURE_NO_DEPRECATE DEFINES += _SCL_SECURE_NO_DEPRECATE
DEFINES += __USE_W32_SOCKETS DEFINES += __USE_W32_SOCKETS
@ -52,17 +20,61 @@ DEFINES += _FILE_OFFSET_BITS=64
DEFINES += NOMINMAX DEFINES += NOMINMAX
CONFIG(debug, debug|release) { CONFIG(debug, debug|release) {
DEFINES += TORRENT_DEBUG DEFINES += TORRENT_DEBUG
} else { }
DEFINES += NDEBUG else {
DEFINES += NDEBUG
} }
# Enable backtrace support
CONFIG += strace_win
win32-g++* { win32-g++* {
include(winconf-mingw.pri) CONFIG(debug, debug|release) {
# Make sure binary is not relocatable, otherwise debugging will fail
QMAKE_LFLAGS -= -Wl,--dynamicbase
}
RC_FILE = qbittorrent_mingw.rc
LIBS += libadvapi32 libshell32 libuser32 libole32 libwsock32 libws2_32 libpowrprof
}
else:win32-msvc* {
CONFIG -= embed_manifest_exe
QMAKE_LFLAGS += "/MANIFEST:EMBED /MANIFESTINPUT:$$quote($${PWD}/src/qbittorrent.exe.manifest) /STACK:0x800000"
QMAKE_LFLAGS_RELEASE += "/OPT:REF /OPT:ICF"
RC_FILE = qbittorrent.rc
LIBS += advapi32.lib shell32.lib crypt32.lib User32.lib ole32.lib PowrProf.lib
}
# See an example build configuration in "conf.pri.windows"
exists(conf.pri) {
include(conf.pri)
} }
else { else {
include(winconf-msvc.pri) error("'conf.pri' does not exist. See an example configuration in 'conf.pri.windows'.")
}
# Stack trace support can be enabled in 'conf.pri'
strace_win {
win32-g++* {
contains(QMAKE_HOST.arch, x86) {
# i686 arch requires frame pointer preservation
QMAKE_CXXFLAGS += -fno-omit-frame-pointer
}
QMAKE_LFLAGS += -Wl,--export-all-symbols
LIBS += libdbghelp
}
else:win32-msvc* {
contains(QMAKE_HOST.arch, x86) {
# i686 arch requires frame pointer preservation
QMAKE_CXXFLAGS += -Oy-
}
QMAKE_CXXFLAGS *= -Zi
QMAKE_LFLAGS *= "/DEBUG"
LIBS += dbghelp.lib
}
} }

Loading…
Cancel
Save