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
-DETHDBUS
. 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
If you want to use locally installed ROCm-OpenCL package, use build flag -DUSE_SYS_OPENCL=ON
with cmake config.
- 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
.cmake --build .
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
-
(Optional, Linux only) Install the built executable:
sudo make install
Complete sample Windows batch file - adapt it to your system. Assumes that:
- it's placed one folder up from the ethminer source folder
- you have CMake installed
- you have Perl installed
@echo off
setlocal
rem add MSVC in PATH
call "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\Common7\Tools\VsMSBuildCmd.bat"
rem add Perl in PATH; it's needed for OpenSSL build
set "PERL_PATH=C:\Perl\perl\bin"
set "PATH=%PERL_PATH%;%PATH%"
rem switch to ethminer's source folder
cd "%~dp0\ethminer\"
if not exist "build\" mkdir "build\"
rem For CUDA 9.x pass also `-T v140`
cmake -G "Visual Studio 15 2017 Win64" -H. -Bbuild -DETHASHCL=ON -DETHASHCUDA=ON -DAPICORE=ON ..
cmake --build . --config Release --target package
endlocal
pause
Pass these options to CMake configuration command, e.g.
cmake .. -DETHASHCUDA=ON -DETHASHCL=OFF
-DETHASHCL=ON
- enable OpenCL mining,ON
by default.-DETHASHCUDA=ON
- enable CUDA mining,ON
by default.-DAPICORE=ON
- enable API Server,ON
by default.-DBINKERN=ON
- install AMD binary kernels,ON
by default.-DETHDBUS=ON
- enable D-Bus support,OFF
by default.-DUSE_SYS_OPENCL=ON
- Use system OpenCL,OFF
by default, unless on macOS. Specify to use local ROCm-OpenCL package.
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.