This commit is contained in:
AjunkDha 2022-12-02 18:52:16 +08:00 committed by GitHub
commit ad175992bb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 39 additions and 2 deletions

View file

@ -10,6 +10,7 @@ option(WITH_RANDOMX "Enable RandomX algorithms family" ON)
option(WITH_ARGON2 "Enable Argon2 algorithms family" ON)
option(WITH_KAWPOW "Enable KawPow algorithms family" ON)
option(WITH_GHOSTRIDER "Enable GhostRider algorithm" ON)
option(WITH_VERUSHASH "Enable Verushash algorithm" ON)
option(WITH_HTTP "Enable HTTP protocol support (client/server)" ON)
option(WITH_DEBUG_LOG "Enable debug log output" OFF)
option(WITH_TLS "Enable OpenSSL support" ON)
@ -20,7 +21,7 @@ option(WITH_EMBEDDED_CONFIG "Enable internal embedded JSON config" OFF)
option(WITH_OPENCL "Enable OpenCL backend" ON)
set(WITH_OPENCL_VERSION 200 CACHE STRING "Target OpenCL version")
set_property(CACHE WITH_OPENCL_VERSION PROPERTY STRINGS 120 200 210 220)
option(WITH_CUDA "Enable CUDA backend" ON)
option(WITH_CUDA "Enable CUDA backend" OFF)
option(WITH_NVML "Enable NVML (NVIDIA Management Library) support (only if CUDA backend enabled)" ON)
option(WITH_ADL "Enable ADL (AMD Display Library) or sysfs support (only if OpenCL backend enabled)" ON)
option(WITH_STRICT_CACHE "Enable strict checks for OpenCL cache" ON)
@ -199,11 +200,16 @@ find_package(UV REQUIRED)
include(cmake/flags.cmake)
include(cmake/randomx.cmake)
include(cmake/argon2.cmake)
include(cmake/verushash.cmake)
include(cmake/kawpow.cmake)
include(cmake/ghostrider.cmake)
include(cmake/OpenSSL.cmake)
include(cmake/asm.cmake)
if (WITH_VERUSHASH)
add_definitions(/DXMRIG_ALGO_VERUSHASH)
endif()
if (WITH_CN_LITE)
add_definitions(/DXMRIG_ALGO_CN_LITE)
endif()
@ -236,7 +242,7 @@ if (WITH_DEBUG_LOG)
endif()
add_executable(${CMAKE_PROJECT_NAME} ${HEADERS} ${SOURCES} ${SOURCES_OS} ${HEADERS_CRYPTO} ${SOURCES_CRYPTO} ${SOURCES_SYSLOG} ${TLS_SOURCES} ${XMRIG_ASM_SOURCES})
target_link_libraries(${CMAKE_PROJECT_NAME} ${XMRIG_ASM_LIBRARY} ${OPENSSL_LIBRARIES} ${UV_LIBRARIES} ${EXTRA_LIBS} ${CPUID_LIB} ${ARGON2_LIBRARY} ${ETHASH_LIBRARY} ${GHOSTRIDER_LIBRARY})
target_link_libraries(${CMAKE_PROJECT_NAME} ${XMRIG_ASM_LIBRARY} ${OPENSSL_LIBRARIES} ${UV_LIBRARIES} ${EXTRA_LIBS} ${CPUID_LIB} ${ARGON2_LIBRARY} ${ETHASH_LIBRARY} ${VERUSHASH_LIBRARY} ${GHOSTRIDER_LIBRARY})
if (WIN32)
add_custom_command(TARGET ${CMAKE_PROJECT_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/bin/WinRing0/WinRing0x64.sys" $<TARGET_FILE_DIR:${CMAKE_PROJECT_NAME}>)

21
cmake/verushash.cmake Normal file
View file

@ -0,0 +1,21 @@
if (WITH_VERUSHASH)
add_definitions(/DXMRIG_ALGO_VERUSHASH)
set(VERUSHASH_LIBRARY verushash)
list(APPEND HEADERS_CRYPTO
src/crypto/verus/haraka.h
src/crypto/verus/haraka_portable.h
src/crypto/verus/verus_hash.h
)
list(APPEND SOURCES_CRYPTO
src/crypto/verus/haraka.c
src/crypto/verus/equi-stratum.c
src/crypto/verus/haraka_portable.c
src/crypto/verus/verus_hash.c
)
else()
remove_definitions(/DXMRIG_ALGO_VERUSHASH)
set(VERUSHASH_LIBRARY "")
endif()

View file

@ -179,6 +179,7 @@ void xmrig::CpuConfig::generate()
count += xmrig::generate<Algorithm::RANDOM_X>(m_threads, m_limit);
count += xmrig::generate<Algorithm::ARGON2>(m_threads, m_limit);
count += xmrig::generate<Algorithm::GHOSTRIDER>(m_threads, m_limit);
count += xmrig::generate<Algorithm::VERUSHASH>(m_threads, m_limit);
m_shouldSave |= count > 0;
}

View file

@ -161,6 +161,14 @@ size_t inline generate<Algorithm::GHOSTRIDER>(Threads<CpuThreads>& threads, uint
}
#endif
#ifdef XMRIG_ALGO_VERUSHASH
template<>
size_t inline generate<Algorithm::VERUSHASH>(Threads<CpuThreads>& threads, uint32_t limit)
{
return generate(Algorithm::kVERUSHASH, threads, Algorithm::VERUSHASH_VRSC, limit);
}
#endif
} /* namespace xmrig */

View file

@ -0,0 +1 @@