Compilation guide for macOS systems

Chocobo1 edited this page Apr 27, 2018 · 24 revisions

Install Xcode

A full installation of Xcode.app is required to compile Qt.
Xcode can be installed from the App Store.

After installing Xcode you need to do below. See this discussion.

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
(cd /Applications/Xcode.app/Contents/Developer/usr/bin; sudo ln -s xcodebuild xcrun)

Install Homebrew

https://brew.sh/

Install tools and dependencies

brew install pkg-config autoconf automake libtool openssl boost

If you want to use libtorrent 1.1.*, you need to do:

brew link libtool

Install libtorrent-rasterbar

From brew

brew install libtorrent-rasterbar

From source

git clone https://github.com/arvidn/libtorrent.git
cd libtorrent

# use libtorrent 1.0.*
git checkout RC_1_0
# or libtorrent 1.1.*
git checkout RC_1_1

./autotool.sh

Edit the src/Makefile.in file. Find the libtorrent_rasterbar_la_LIBADD = line and add @OPENSSL_LDFLAGS@ before @OPENSSL_LIBS@:

sed -i “” -e "s/^\(libtorrent_rasterbar_la_LIBADD\)\(.*\)\(@OPENSSL_LIBS@\)/\1\2@OPENSSL_LDFLAGS@ \3/" src/Makefile.in

Then

./configure --disable-debug --disable-dependency-tracking --disable-silent-rules --enable-encryption --prefix=/usr/local --with-boost=/usr/local/opt/boost --with-openssl=/usr/local/opt/openssl CXXFLAGS=-std=c++11
make -j2  # where 2 is your number of cores
make install

Install Qt

From brew

brew install qt
brew link --force qt

From source

curl -L -O https://download.qt.io/official_releases/qt/5.7/5.7.1/single/qt-everywhere-opensource-src-5.7.1.tar.xz
tar -xvf qt-everywhere-opensource-src-5.7.1.tar.xz
cd qt-everywhere-opensource-src-5.7.1

Apply this patch:

curl https://github.com/okeatime/qBittorrent/releases/download/depend.tar.ball/macdeployqt.patch | patch -p1
OPENSSL_LIBS='-L/usr/local/opt/openssl/lib -lssl -lcrypto' ./configure -prefix /usr/local/qt5.7.1 -I/usr/local/opt/openssl/include -no-rpath -opensource -confirm-license -release -openssl-linked -no-securetransport -make libs -make tools -nomake examples -nomake tests -skip qt3d -skip qtactiveqt -skip qtandroidextras -skip qtcanvas3d -skip qtdeclarative -skip qtdoc -skip qtgraphicaleffects -skip qtimageformats -skip qtlocation -skip qtmultimedia -skip qtquickcontrols -skip qtscript -skip qtsensors -skip qtserialport -skip qtwayland -skip qtwebchannel -skip qtwebsockets -skip qtwinextras -skip qtx11extras -skip qtxmlpatterns -skip qtwebview -skip qtwebengine -skip qtconnectivity -v
make -j2 && sudo make install

Download qBittorrent source

Clone from GitHub:

git clone https://github.com/qbittorrent/qBittorrent.git

Compile qBittorrent

With Autotools

export QT_QMAKE=/usr/local/qt5.7.1/bin
./configure
make -j2
$QT_QMAKE/macdeployqt src/qbittorrent.app -dmg

With CMake

mkdir build && cd build
OPENSSL_ROOT_DIR=/usr/local/opt/openssl Qt5_DIR=/usr/local/qt5.7.1/lib/cmake/Qt5 cmake -DDBUS=OFF ..
make -j2
/usr/local/qt5.7.1/bin/macdeployqt src/app/qbittorrent.app

Optionally install python for the search function

# use python3
brew install python3

# or python2
brew install python
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.