MSVC debug/relwithdebinfo builds use jmp trampolines for ASM functions, so these must be traversed to get the actual address of the code for each function.
* Fixed CMake configuration for visual studio build
Added proper asm source and set correct type.
* Disabled stadard layout check of randomx_cache for visual studio debug
Required to silence static_assert which fails on Visual Studio Debug
configuation.
* Fixed warning message and defines check
* Removed unsupported flags for MSVC compiler
* Enabled AVX2 for msvc
* Fixed formatting in CmakeLists
* Added generation of configuration.asm by CMake for MSVC
* build: remove hardcoded lib/ destination
cmake internally has a logic to know where is the best place to install
a given library. For example on amd64 it does not make sense to install
the library in /usr/lib, this change allow the library to the installed
in /usr/lib64
* build: mark src/randomx.h as a public header
this allow src/randomx.h to be installed in /usr/include/randomx.h
automagically during make install
* Use cmake for building
* CMakeLists.txt modified to support full standalone build
* added support for ARCH=native builds
* added PowerPC flags
* added ARMv8 flags
* check for x86 AES-NI at compile time
* instruction decode/execute separated into class BytecodeMachine
* added randomx-tests project
* removed the use of non-portable __COUNTER__ macro
* removed the use of unsupported FENV_ACCESS pragma