This project uses CMake and Hunter package manager.
- CMake >= 3.5
- Git
- Perl, needed to build OpenSSL
- CUDA Toolkit >= 9.0 (optional, install if you want NVidia CUDA support)
- GCC version >= 4.8
- DBUS development libs if building with
-DDBUS
. E.g. on Ubuntu run:
sudo apt install libdbus-1-dev
If you're planning to use OpenCL on Linux you have to install the OpenGL libraries. E.g. on Ubuntu run:
sudo apt-get install mesa-common-dev
- GCC version >= TBF
- Visual Studio 2017; Community Edition works fine. Make sure you install MSVC 2015 toolkit (v140).
-
Make sure git submodules are up to date:
git submodule update --init --recursive
-
Create a build directory:
mkdir build cd build
-
Configure the project with CMake. Check out the additional configuration options.
cmake ..
Note: On Windows, it's possible to have issues with VS 2017 default compilers, due to CUDA expecting a specific toolset version; in that case, use the VS 2017 installer to get the VS 2015 compilers and pass the
-T v140
option:cmake .. -G "Visual Studio 15 2017 Win64" # or this if you have build errors in the CUDA step cmake .. -G "Visual Studio 15 2017 Win64" -T v140
-
Build the project using CMake Build Tool Mode. This is a portable variant of
make
.make serominer
Note: On Windows, it is possible to have compiler issues if you don't specify the build config. In that case use:
cmake --build . --config Release --target serominer
Complete sample Windows batch file - adapt it to your system. Assumes that:
- it's placed one folder up from the serominer source folder
- you have CMake installed
- you have Perl installed
See "build-cuda.bat" or "build-opencl.bat"
Pass these options to CMake configuration command, e.g.
cmake .. -DCUDA=ON -DOPENCL=OFF
-DOPENCL=ON
- enable OpenCL mining,ON
by default.-DCUDA=ON
- enable CUDA mining,ON
by default.-DAPI=ON
- enable API Server,ON
by default.-DBINKERN=ON
- install AMD binary kernels,ON
by default.-DDBUS=ON
- enable D-Bus support,OFF
by default.
If you want to install dependencies yourself or use system package manager you can disable Hunter by adding
-DHUNTER_ENABLED=OFF
to the configuration options.