From 70cc850f10c2fcd1733ae05dce5c4503db3a11f3 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Tue, 16 Dec 2025 10:47:25 -0600 Subject: [PATCH] updated build system --- cmake/flags.cmake | 4 ++++ cmake/libraries/boost.cmake | 8 ++++---- cmake/versions.cmake | 14 +++++++------- docker/x86_64/alpine | 2 +- docker/x86_64/flutter | 2 +- docker/x86_64/mingw64 | 2 +- support/include/utils/config.hpp | 5 +++++ 7 files changed, 23 insertions(+), 14 deletions(-) diff --git a/cmake/flags.cmake b/cmake/flags.cmake index 78b1e7ef..4a7c6c71 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 74291967..e0e3f64d 100644 --- a/cmake/libraries/boost.cmake +++ b/cmake/libraries/boost.cmake @@ -95,9 +95,11 @@ if(PROJECT_ENABLE_BOOST) endif() if(PROJECT_ENABLE_LIBBITCOIN_SYSTEM) - set(BOOST_CXX_STANDARD 20) + set(BOOST_CXX_STANDARD 14) + set(BOOST_OPTIONS cxxflags=-Wno-enum-constexpr-conversion) else() set(BOOST_CXX_STANDARD ${CMAKE_CXX_STANDARD}) + set(BOOST_OPTIONS define=BOOST_ASIO_HAS_STD_STRING_VIEW) endif() set(BOOST_BUILD_ARGS @@ -106,14 +108,12 @@ if(PROJECT_ENABLE_BOOST) address-model=64 architecture=${BOOST_ARCH} cxxstd-dialect=gnu - cxxflags=-std=gnu++${BOOST_CXX_STANDARD} cxxstd=${BOOST_CXX_STANDARD} - 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} + ${BOOST_OPTIONS} ) ExternalProject_Add(boost_project diff --git a/cmake/versions.cmake b/cmake/versions.cmake index b0d40446..0b3de7e4 100644 --- a/cmake/versions.cmake +++ b/cmake/versions.cmake @@ -1,15 +1,15 @@ set(BINUTILS_VERSION 2.44) -set(BOOST_MAJOR_VERSION 1) -set(BOOST_MINOR_VERSION 89) -set(BOOST_PATCH_VERSION 0) set(BOOST2_MAJOR_VERSION 1) set(BOOST2_MINOR_VERSION 76) set(BOOST2_PATCH_VERSION 0) +set(BOOST_MAJOR_VERSION 1) +set(BOOST_MINOR_VERSION 89) +set(BOOST_PATCH_VERSION 0) set(CPP_HTTPLIB_VERSION 0.26.0) -set(CURL_VERSION 8.16.0) set(CURL2_VERSION 8_16_0) -set(EXPAT_VERSION 2.7.1) +set(CURL_VERSION 8.16.0) set(EXPAT2_VERSION 2_7_1) +set(EXPAT_VERSION 2.7.1) set(GCC_VERSION 15.2.0) set(GTEST_VERSION 1.17.0) set(ICU_VERSION 76-1) @@ -22,9 +22,9 @@ set(PKG_CONFIG_VERSION 0.29.2) set(PUGIXML_VERSION 1.15) set(ROCKSDB_VERSION 10.5.1) set(SPDLOG_VERSION 1.15.3) -set(SQLITE_VERSION 3500400) set(SQLITE2_VERSION 3.50.4) +set(SQLITE_VERSION 3500400) set(STDUUID_VERSION 1.2.3) -set(WINFSP_VERSION 2.1.25156) set(WINFSP2_VERSION 2.1) +set(WINFSP_VERSION 2.1.25156) set(ZLIB_VERSION 1.3.1) diff --git a/docker/x86_64/alpine b/docker/x86_64/alpine index fa109de7..888d8a59 100644 --- a/docker/x86_64/alpine +++ b/docker/x86_64/alpine @@ -1,5 +1,5 @@ #comment -FROM alpine:3.23 +FROM --platform=linux/amd64 alpine:3.23 MAINTAINER Scott E. Graves CMD bash diff --git a/docker/x86_64/flutter b/docker/x86_64/flutter index 03ff3697..0692f564 100644 --- a/docker/x86_64/flutter +++ b/docker/x86_64/flutter @@ -11,7 +11,7 @@ RUN apt-get install -y \ fonts-droid-fallback \ gdb \ git \ - lib32stdc++6 \ + lib32stdc++6-x32-cross \ libglu1-mesa \ libstdc++6 \ python3 \ diff --git a/docker/x86_64/mingw64 b/docker/x86_64/mingw64 index 94f3859a..6edbe533 100644 --- a/docker/x86_64/mingw64 +++ b/docker/x86_64/mingw64 @@ -1,5 +1,5 @@ #comment -FROM alpine:3.23 +FROM --platform=linux/amd64 alpine:3.23 RUN apk update RUN apk upgrade diff --git a/support/include/utils/config.hpp b/support/include/utils/config.hpp index 418cf4da..9d4d6db3 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"