From 5387a7711ccc7189e42ec316ee3a3a453b2f117f Mon Sep 17 00:00:00 2001 From: cryptozoidberg Date: Wed, 23 Oct 2024 15:01:43 +0400 Subject: [PATCH] workaround fix for old android sdk with old boost(with missing pfr) v2 --- CMakeLists.txt | 1 + src/common/boost_serialization_maps.h | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4e665230..b07daa1d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -89,6 +89,7 @@ endif() if(CAKEWALLET) message("NOTICE: Building libraries for CAKEWALLET") add_definitions(-DCAKEWALLET) + add_definitions(-DDISABLE_PFR_SERIALIZATION_SELFCHECK) endif() set(OPENSSL_USE_STATIC_LIBS TRUE) # link statically diff --git a/src/common/boost_serialization_maps.h b/src/common/boost_serialization_maps.h index d27bf52a..c5739279 100644 --- a/src/common/boost_serialization_maps.h +++ b/src/common/boost_serialization_maps.h @@ -4,8 +4,8 @@ #pragma once #include - #ifndef MOBILE_WALLET -#include +#ifdef DISABLE_PFR_SERIALIZATION_SELFCHECK + #include #endif #define BEGIN_BOOST_SERIALIZATION() template void serialize(t_archive &_arch, const unsigned int ver) { @@ -38,7 +38,7 @@ template struct TAssertEquality { fields to the structure but forgets to update the serialization map, the compilation will fail. Any update to "num_fields" must be accompanied by a thorough review of the serialization map to ensure no fields are omitted. **********************************************************************************************************************************/ -#ifndef MOBILE_WALLET +#ifdef DISABLE_PFR_SERIALIZATION_SELFCHECK #define END_BOOST_SERIALIZATION_TOTAL_FIELDS(num_fields) static_assert(num_fields == boost::pfr::tuple_size::type>::value, "Unexpected number of fields!"); } #else #define END_BOOST_SERIALIZATION_TOTAL_FIELDS(num_fields) END_BOOST_SERIALIZATION()