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-devIf 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; in that case, use the VS 2017 installer to get the VS 2015 compilers and use:
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\"
cmake -G "Visual Studio 15 2017 Win64" -H. -Bbuild -T v140 -DETHASHCL=ON -DETHASHCUDA=ON -DAPICORE=ON ..
cmake --build . --config Release --target package
endlocal
pausePass these options to CMake configuration command, e.g.
cmake .. -DETHASHCUDA=ON -DETHASHCL=OFF-DETHASHCL=ON- enable OpenCL mining,ONby default,-DETHASHCUDA=ON- enable CUDA mining,ONby default.-DAPICORE=ON- enable API Server,ONby default.-DETHDBUS=ON- enable D-Bus support,OFFby default.-DBINKERN=ON- install AMD binary kernels,ONby default.
If you want to install dependencies yourself or use system package manager
you can disable Hunter by adding
-DHUNTER_ENABLED=OFF
to configuration options.