From 1365ea50d1c992bee1dd103cb29da34289a5a80c Mon Sep 17 00:00:00 2001 From: androm3da Date: Thu, 21 Dec 2017 19:03:45 -0600 Subject: [PATCH] cmake: add RAIBLOCKS_SIMD_OPTIMIZATIONS flag --- CMakeLists.txt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7a6045b0..4e48cf6b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,6 +8,8 @@ set (CPACK_PACKAGE_VERSION_PATCH "0") set (RAIBLOCKS_GUI OFF CACHE BOOL "") set (RAIBLOCKS_TEST OFF CACHE BOOL "") +option(RAIBLOCKS_SIMD_OPTIMIZATIONS "Enable CPU-specific SIMD optimizations (SSE/AVX or NEON, e.g.)" ON) + if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel." FORCE) endif(NOT CMAKE_BUILD_TYPE) @@ -18,7 +20,10 @@ if (WIN32) else (WIN32) set (PLATFORM_COMPILE_FLAGS "-DBOOST_SPIRIT_THREADSAFE -Werror=switch -fPIC") IF (CMAKE_SYSTEM_PROCESSOR MATCHES "^(i.86|x86(_64)?)$") - set (PLATFORM_COMPILE_FLAGS "${PLATFORM_COMPILE_FLAGS} -msse4") + if (RAIBLOCKS_SIMD_OPTIMIZATIONS) + set (PLATFORM_COMPILE_FLAGS "${PLATFORM_COMPILE_FLAGS} -msse4") + endif() + set (BLAKE2_IMPLEMENTATION "blake2/blake2b.c") if (ENABLE_AVX2) set (PLATFORM_COMPILE_FLAGS "${PLATFORM_COMPILE_FLAGS} -mavx2 -mbmi -mbmi2") @@ -106,7 +111,7 @@ include_directories (miniupnp/miniupnpc) set (BUILD_SHARED OFF CACHE BOOL "") set (BUILD_TESTING OFF CACHE BOOL "") set (USE_INTERMEDIATE_OBJECTS_TARGET OFF CACHE BOOL "") -if (CRYPTOPP_CUSTOM) +if (CRYPTOPP_CUSTOM OR NOT RAIBLOCKS_SIMD_OPTIMIZATIONS) set (CRYPTOPP_LIBRARY cryptopp) add_library (cryptopp cryptopp/algparam.cpp