if (CMAKE_SIZEOF_VOID_P EQUAL 8) set(XMRIG_64_BIT ON) add_definitions(-DXMRIG_64_BIT) else() set(XMRIG_64_BIT OFF) endif() if (XMRIG_64_BIT AND CMAKE_SYSTEM_PROCESSOR MATCHES "^(x86_64|AMD64)$") add_definitions(-DRAPIDJSON_SSE2) endif() add_definitions(-DRAPIDJSON_WRITE_DEFAULT_FLAGS=6) # rapidjson::kWriteNanAndInfFlag | rapidjson::kWriteNanAndInfNullFlag if (ARM_V8) set(ARM_TARGET 8) elseif (ARM_V7) set(ARM_TARGET 7) endif() if (NOT ARM_TARGET) if (CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64|arm64|ARM64|armv8-a)$") set(ARM_TARGET 8) elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "^(armv7|armv7f|armv7s|armv7k|armv7-a|armv7l|armv7ve)$") set(ARM_TARGET 7) endif() endif() if (ARM_TARGET AND ARM_TARGET GREATER 6) set(XMRIG_ARM ON) add_definitions(-DXMRIG_ARM=${ARM_TARGET}) message(STATUS "Use ARM_TARGET=${ARM_TARGET} (${CMAKE_SYSTEM_PROCESSOR})") if (ARM_TARGET EQUAL 8 AND (CMAKE_CXX_COMPILER_ID MATCHES GNU OR CMAKE_CXX_COMPILER_ID MATCHES Clang)) set(ARM8_CXX_FLAGS "-march=armv8-a") endif() endif()