diff --git a/.cspell/words.txt b/.cspell/words.txt index 7ccfa42..6f02fe4 100644 --- a/.cspell/words.txt +++ b/.cspell/words.txt @@ -15,6 +15,7 @@ clsid_shelllink cmake_current_source_dir cmake_host_win32 comdlg32 +constexpr cpp_httplib_hash cppcoreguidelines cppdbg diff --git a/cmake/flags.cmake b/cmake/flags.cmake index 78b1e7e..4a7c6c7 100644 --- a/cmake/flags.cmake +++ b/cmake/flags.cmake @@ -48,6 +48,10 @@ list(APPEND PROJECT_CXXFLAGS_LIST -Wunused ) +if (PROJECT_ENABLE_LIBBITCOIN_SYSTEM AND PROJECT_IS_DARWIN) + list(APPEND PROJECT_CXXFLAGS_LIST -Wno-enum-constexpr-conversion) +endif() + if (NOT PROJECT_IS_DARWIN) list(APPEND PROJECT_CXXFLAGS_LIST -Wduplicated-branches diff --git a/cmake/libraries/boost.cmake b/cmake/libraries/boost.cmake index 7429196..e2beb83 100644 --- a/cmake/libraries/boost.cmake +++ b/cmake/libraries/boost.cmake @@ -95,7 +95,7 @@ if(PROJECT_ENABLE_BOOST) endif() if(PROJECT_ENABLE_LIBBITCOIN_SYSTEM) - set(BOOST_CXX_STANDARD 20) + set(BOOST_CXX_STANDARD 14) else() set(BOOST_CXX_STANDARD ${CMAKE_CXX_STANDARD}) endif() @@ -106,12 +106,11 @@ if(PROJECT_ENABLE_BOOST) address-model=64 architecture=${BOOST_ARCH} cxxstd-dialect=gnu - cxxflags=-std=gnu++${BOOST_CXX_STANDARD} cxxstd=${BOOST_CXX_STANDARD} + cxxflags=-Wno-enum-constexpr-conversion define=BOOST_ASIO_HAS_STD_STRING_VIEW define=BOOST_SYSTEM_NO_DEPRECATED link=${BOOST_LINK} - linkflags=-std=gnu++${BOOST_CXX_STANDARD} threading=multi variant=${BOOST_BUILD_TYPE_LOWER} ) diff --git a/support/include/utils/config.hpp b/support/include/utils/config.hpp index cb94790..830db6a 100644 --- a/support/include/utils/config.hpp +++ b/support/include/utils/config.hpp @@ -323,6 +323,11 @@ using vlc_string_t = std::unique_ptr; #if defined(__cplusplus) #if defined(PROJECT_ENABLE_BOOST) +#if defined(PROJECT_ENABLE_LIBBITCOIN_SYSTEM) && defined(PROJECT_IS_DARWIN) +#define BOOST_ASIO_HAS_STD_INVOKE_RESULT +#define BOOST_NO_CXX98_FUNCTION_BASE +#endif // defined(PROJECT_ENABLE_LIBBITCOIN_SYSTEM) && + // defined(PROJECT_IS_DARWIN) #include "boost/archive/text_iarchive.hpp" #include "boost/archive/text_oarchive.hpp" #include "boost/asio.hpp"