diff --git a/CMakeLists.txt b/CMakeLists.txt index fa26069c..0691adcd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -103,6 +103,11 @@ endif() set(SHELL_CMD sh -c) set(GREP_CMD egrep -i -c) +execute_process(COMMAND ${SHELL_CMD} "${CMAKE_CXX_COMPILER} -dumpmachine 2>&1" + COMMAND ${GREP_CMD} "amd64" + OUTPUT_VARIABLE CRYPTOPP_AMD64 + OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${SHELL_CMD} "${CMAKE_CXX_COMPILER} -dumpmachine 2>&1" COMMAND ${GREP_CMD} "x86_64" OUTPUT_VARIABLE CRYPTOPP_X86_64 @@ -144,6 +149,10 @@ execute_process(COMMAND ${SHELL_CMD} "${CMAKE_CXX_COMPILER} -dumpmachine 2>&1" OUTPUT_VARIABLE CRYPTOPP_ARM7L OUTPUT_STRIP_TRAILING_WHITESPACE) +# OpenBSD and Clang +if ("${CRYPTOPP_X86_64}" STREQUAL "1") + set(CRYPTOPP_AMD64 "1") +endif() # arm7l is another 32-bit hard float machine. RPI-3 is arm7l on 64-bit hardware if ("${CRYPTOPP_ARM}" STREQUAL "1") set(CRYPTOPP_ARMHF "1") @@ -367,7 +376,7 @@ endif() # New as of Pull Request 461, http://github.com/weidai11/cryptopp/pull/461. if (("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") OR ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")) - if (("${CRYPTOPP_X86_64}" STREQUAL "1") OR ("${CRYPTOPP_I386}" STREQUAL "1") OR ("${CRYPTOPP_X32}" STREQUAL "1")) + if (("${CRYPTOPP_AMD64}" STREQUAL "1") OR ("${CRYPTOPP_I386}" STREQUAL "1") OR ("${CRYPTOPP_X32}" STREQUAL "1")) CHECK_CXX_COMPILER_FLAG("-mssse3" CRYPTOPP_IA32_SSSE3) CHECK_CXX_COMPILER_FLAG("-msse4.2" CRYPTOPP_IA32_SSE4) diff --git a/GNUmakefile b/GNUmakefile old mode 100755 new mode 100644