Skip to content
Branch: master
Find file Copy path
Find file Copy path
1 contributor

Users who have contributed to this file

130 lines (86 sloc) 3.48 KB

Building from source

Table of Contents


This project uses CMake and Hunter package manager.


  1. CMake >= 3.5
  2. Git
  3. Perl, needed to build OpenSSL
  4. CUDA Toolkit >= 9.0 (optional, install if you want NVidia CUDA support)


  1. GCC version >= 4.8
  2. DBUS development libs if building with -DDBUS. E.g. on Ubuntu run:
sudo apt install libdbus-1-dev

OpenCL support on Linux

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


  1. GCC version >= TBF


  1. Visual Studio 2017; Community Edition works fine. Make sure you install MSVC 2015 toolkit (v140).


  1. Make sure git submodules are up to date:

    git submodule update --init --recursive
  2. Create a build directory:

    mkdir build
    cd build
  3. 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
  4. 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

Windows-specific script

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"

CMake configuration options

Pass these options to CMake configuration command, e.g.

  • -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.

Disable Hunter

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.

You can’t perform that action at this time.