# Vars LANG_PATH = lang ICONS_PATH = Icons # Set the following variable to 1 to enable debug DEBUG_MODE = 1 # Global TEMPLATE = app CONFIG += qt \ thread # Update this VERSION for each release os2 { DEFINES += VERSION=\'\"v2.5.0beta2\"\' } else { DEFINES += VERSION=\\\"v2.5.0beta2\\\" } DEFINES += VERSION_MAJOR=2 DEFINES += VERSION_MINOR=5 DEFINES += VERSION_BUGFIX=0 # NORMAL,ALPHA,BETA,RELEASE_CANDIDATE,DEVEL DEFINES += VERSION_TYPE=BETA win32 { exists(../winconf.pri) { include(../winconf.pri) } #DEFINES += _WIN32_WINNT=0x0601 #DEFINES += _WIN32_IE=0x0400 #DEFINES += _WIN32_WINDOWS #QMAKE_CXXFLAGS_STL_ON = -EHs #QMAKE_CXXFLAGS_EXCEPTIONS_ON = -EHs DEFINES += BOOST_ALL_NO_LIB BOOST_ASIO_HASH_MAP_BUCKETS=1021 BOOST_EXCEPTION_DISABLE DEFINES += BOOST_FILESYSTEM_STATIC_LINK=1 BOOST_MULTI_INDEX_DISABLE_SERIALIZATION DEFINES += BOOST_SYSTEM_STATIC_LINK=1 BOOST_THREAD_USE_LIB BOOST_THREAD_USE_LIB=1 DEFINES += TORRENT_USE_OPENSSL UNICODE WIN32 WIN32_LEAN_AND_MEAN DEFINES += _CRT_SECURE_NO_DEPRECATE _FILE_OFFSET_BITS=64 _SCL_SECURE_NO_DEPRECATE DEFINES += _UNICODE _WIN32 _WIN32_WINNT=0x0500 __USE_W32_SOCKETS contains(DEBUG_MODE, 1) { DEFINES += TORRENT_DEBUG } contains(DEBUG_MODE, 0) { DEFINES += NDEBUG } } # !mac:QMAKE_LFLAGS += -Wl,--as-needed contains(DEBUG_MODE, 1) { CONFIG += debug CONFIG -= release message(Debug build!) } contains(DEBUG_MODE, 0) { CONFIG -= debug CONFIG += release DEFINES += QT_NO_DEBUG_OUTPUT message(Release build!) } # Mac specific configuration macx { PREFIX = /usr/local BINDIR = /usr/local/bin DATADIR = /usr/local/share INCLUDEPATH += /usr/local/include/libtorrent /usr/include/openssl /usr/include /opt/local/include/boost /opt/local/include LIBS += -ltorrent-rasterbar -lcrypto -L/opt/local/lib -lboost_system-mt -lboost_filesystem-mt -lboost_thread-mt -framework Cocoa -framework Carbon document_icon.path = Contents/Resources document_icon.files = Icons/qBitTorrentDocument.icns QMAKE_BUNDLE_DATA += document_icon ICON = Icons/qbittorrent_mac.icns QMAKE_INFO_PLIST = Info.plist } # Install !win32 { # Binary exists(../conf.pri) { include(../conf.pri) # Target # target.path = $$BINDIR target.path = $$PREFIX/bin/ INSTALLS += target } # Man page contains(DEFINES, DISABLE_GUI):man.files = ../doc/qbittorrent-nox.1 else:man.files = ../doc/qbittorrent.1 man.path = $$PREFIX/share/man/man1/ INSTALLS += man # Menu Icon !contains(DEFINES, DISABLE_GUI) { menuicon.files = Icons/qBittorrent.desktop menuicon.path = $$PREFIX/share/applications/ INSTALLS += menuicon icon16.files = menuicons/16x16/apps/qbittorrent.png icon16.path = $$PREFIX/share/icons/hicolor/16x16/apps/ icon22.files = menuicons/22x22/apps/qbittorrent.png icon22.path = $$PREFIX/share/icons/hicolor/22x22/apps/ icon24.files = menuicons/24x24/apps/qbittorrent.png icon24.path = $$PREFIX/share/icons/hicolor/24x24/apps/ icon32.files = menuicons/32x32/apps/qbittorrent.png icon32.path = $$PREFIX/share/icons/hicolor/32x32/apps/ icon36.files = menuicons/36x36/apps/qbittorrent.png icon36.path = $$PREFIX/share/icons/hicolor/36x36/apps/ icon48.files = menuicons/48x48/apps/qbittorrent.png icon48.path = $$PREFIX/share/icons/hicolor/48x48/apps/ icon64.files = menuicons/64x64/apps/qbittorrent.png icon64.path = $$PREFIX/share/icons/hicolor/64x64/apps/ icon72.files = menuicons/72x72/apps/qbittorrent.png icon72.path = $$PREFIX/share/icons/hicolor/72x72/apps/ icon96.files = menuicons/96x96/apps/qbittorrent.png icon96.path = $$PREFIX/share/icons/hicolor/96x96/apps/ icon128.files = menuicons/128x128/apps/qbittorrent.png icon128.path = $$PREFIX/share/icons/hicolor/128x128/apps/ icon192.files = menuicons/192x192/apps/qbittorrent.png icon192.path = $$PREFIX/share/icons/hicolor/192x192/apps/ INSTALLS += icon16 \ icon22 \ icon24 \ icon32 \ icon36 \ icon48 \ icon64 \ icon72 \ icon96 \ icon128 \ icon192 } } contains(DEFINES, DISABLE_GUI) { QT = core TARGET = qbittorrent-nox } else { TARGET = qbittorrent } unix:QMAKE_LFLAGS_APP += -rdynamic unix { CONFIG += link_pkgconfig PKGCONFIG += "libtorrent-rasterbar" } QT += network !contains(DEFINES, DISABLE_GUI):QT += xml unix:!macx { QT += dbus } DEFINES += QT_NO_CAST_TO_ASCII # Fast concatenation (Qt >= 4.6) DEFINES += QT_USE_FAST_CONCATENATION QT_USE_FAST_OPERATOR_PLUS # Windows win32 { RC_FILE = qbittorrent.rc #LIBS += "/nodefaultlib:"msvcrt.lib" #LIBS += "/nodefaultlib:"msvcrtd.lib" #contains(DEBUG_MODE, 1) { # LIBS += "/nodefaultlib:"libcmt.lib" #} contains(DEBUG_MODE, 1) { LIBS += libtorrentd.lib \ libboost_system-vc90-mt-gd.lib \ libboost_filesystem-vc90-mt-gd.lib \ libboost_thread-vc90-mt-gd.lib } contains(DEBUG_MODE, 0) { LIBS += libtorrent.lib \ libboost_system-vc90-mt.lib \ libboost_filesystem-vc90-mt.lib \ libboost_thread-vc90-mt.lib } LIBS += advapi32.lib shell32.lib LIBS += libeay32MD.lib ssleay32MD.lib } os2 { LIBS += -ltorrent-rasterbar \ -lboost_thread \ -lboost_system \ -lboost_filesystem \ -lssl -lcrypto -lidn -lpthread RC_FILE = qbittorrent_os2.rc } !contains(DEFINES, DISABLE_GUI) { win32 { DEFINES += WITH_GEOIP_EMBEDDED message("On Windows, GeoIP database must be embedded.") } os2 { DEFINES += WITH_GEOIP_EMBEDDED message("On eCS(OS/2), GeoIP database must be embedded.") } macx { DEFINES += WITH_GEOIP_EMBEDDED message("On Mac OS X, GeoIP database must be embedded.") } unix:!macx:contains(DEFINES, WITH_GEOIP_EMBEDDED):message("You chose to embed GeoIP database in qBittorrent executable.") } # Resource files RESOURCES += icons.qrc \ lang.qrc \ about.qrc # Add GeoIP resource file if the GeoIP database # should be embedded in qBittorrent executable contains(DEFINES, WITH_GEOIP_EMBEDDED) { exists("geoip/GeoIP.dat") { message("GeoIP.dat was found in src/geoip/.") RESOURCES += geoip.qrc } else { DEFINES -= WITH_GEOIP_EMBEDDED error("GeoIP.dat was not found in src/geoip/ folder, please follow instructions in src/geoip/README.") } } else { message("GeoIP database will not be embedded in qBittorrent executable.") } # Translations TRANSLATIONS = $$LANG_PATH/qbittorrent_fr.ts \ $$LANG_PATH/qbittorrent_zh.ts \ $$LANG_PATH/qbittorrent_zh_TW.ts \ $$LANG_PATH/qbittorrent_en.ts \ $$LANG_PATH/qbittorrent_ca.ts \ $$LANG_PATH/qbittorrent_es.ts \ $$LANG_PATH/qbittorrent_pl.ts \ $$LANG_PATH/qbittorrent_ko.ts \ $$LANG_PATH/qbittorrent_de.ts \ $$LANG_PATH/qbittorrent_nl.ts \ $$LANG_PATH/qbittorrent_tr.ts \ $$LANG_PATH/qbittorrent_sv.ts \ $$LANG_PATH/qbittorrent_el.ts \ $$LANG_PATH/qbittorrent_ru.ts \ $$LANG_PATH/qbittorrent_uk.ts \ $$LANG_PATH/qbittorrent_bg.ts \ $$LANG_PATH/qbittorrent_it.ts \ $$LANG_PATH/qbittorrent_sk.ts \ $$LANG_PATH/qbittorrent_ro.ts \ $$LANG_PATH/qbittorrent_pt.ts \ $$LANG_PATH/qbittorrent_nb.ts \ $$LANG_PATH/qbittorrent_fi.ts \ $$LANG_PATH/qbittorrent_da.ts \ $$LANG_PATH/qbittorrent_ja.ts \ $$LANG_PATH/qbittorrent_hu.ts \ $$LANG_PATH/qbittorrent_pt_BR.ts \ $$LANG_PATH/qbittorrent_cs.ts \ $$LANG_PATH/qbittorrent_sr.ts \ $$LANG_PATH/qbittorrent_ar.ts \ $$LANG_PATH/qbittorrent_hr.ts # Source code HEADERS += misc.h \ downloadthread.h \ filterparserthread.h \ stacktrace.h \ torrentpersistentdata.h \ filesystemwatcher.h \ preferences.h \ scannedfoldersmodel.h \ qinisettings.h \ smtp.h contains(DEFINES, DISABLE_GUI) { HEADERS += headlessloader.h } else { HEADERS += mainwindow.h\ transferlistwidget.h \ transferlistdelegate.h \ transferlistfilterswidget.h \ torrentfilesmodel.h \ geoip.h \ deletionconfirmationdlg.h \ statusbar.h \ reverseresolution.h \ console_imp.h \ ico.h \ speedlimitdlg.h \ options_imp.h \ about_imp.h \ previewselect.h \ previewlistdelegate.h \ downloadfromurldlg.h \ torrentadditiondlg.h \ trackerlogin.h \ advancedsettings.h \ cookiesdlg.h \ hidabletabwidget.h \ sessionapplication.h \ torrentimportdlg.h win32 { HEADERS += programupdater.h } macx { HEADERS += qmacapplication.h \ programupdater.h } } contains(DEFINES, USE_SYSTEM_QTSINGLEAPPLICATION) { message("Using the system's qtsingleapplication library") contains(DEFINES, DISABLE_GUI) { CONFIG += qtsinglecoreapplication } else { CONFIG += qtsingleapplication } } else { message("Using the shipped qtsingleapplication library") contains(DEFINES, DISABLE_GUI) { include(qtsingleapp/qtsinglecoreapplication.pri) } else { include(qtsingleapp/qtsingleapplication.pri) } } !contains(DEFINES, DISABLE_GUI) { include(lineedit/lineedit.pri) } include(qtlibtorrent/qtlibtorrent.pri) include(webui/webui.pri) include(tracker/tracker.pri) !contains(DEFINES, DISABLE_GUI) { include(properties/properties.pri) include(searchengine/searchengine.pri) include(rss/rss.pri) include(torrentcreator/torrentcreator.pri) } !contains(DEFINES, DISABLE_GUI) { FORMS += ui/mainwindow.ui \ ui/options.ui \ ui/about.ui \ ui/preview.ui \ ui/login.ui \ ui/downloadfromurldlg.ui \ ui/torrentadditiondlg.ui \ ui/bandwidth_limit.ui \ ui/pluginsource.ui \ ui/trackersadditiondlg.ui \ ui/console.ui \ ui/peer.ui \ ui/confirmdeletiondlg.ui \ ui/cookiesdlg.ui \ ui/torrentimportdlg.ui } SOURCES += main.cpp \ downloadthread.cpp \ scannedfoldersmodel.cpp \ misc.cpp \ smtp.cpp !contains(DEFINES, DISABLE_GUI) { SOURCES += mainwindow.cpp \ options_imp.cpp \ ico.cpp \ transferlistwidget.cpp \ cookiesdlg.cpp \ torrentadditiondlg.cpp \ sessionapplication.cpp \ torrentimportdlg.cpp win32 { SOURCES += programupdater.cpp } macx { SOURCES += qmacapplication.cpp \ programupdater.cpp } } DESTDIR = .