summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorErik Kundiman <erik@megapahit.org>2026-09-10 20:21:23 +0800
committerErik Kundiman <erik@megapahit.org>2026-09-10 20:28:04 +0800
commitda66c6f3d95682306b31e2646e73ba5505a73680 (patch)
treeedabd851035cf3eba7bf24b893956373b09b9081 /indra
parent61a437590757c69fda96b17d09e4cb71fa6097c5 (diff)
Temporarily use pre-/self-built Boost on Debian
as current stable Debian 13 Boost doesn't include Boost Process, even its 1.88. Revert this if 13 gets a newer Boost or the stable version upgrades to 14. The version chosen to be built on arm64 here is the same as in autobuild.xml, which is 1.90.
Diffstat (limited to 'indra')
-rw-r--r--indra/cmake/Boost.cmake23
1 files changed, 22 insertions, 1 deletions
diff --git a/indra/cmake/Boost.cmake b/indra/cmake/Boost.cmake
index 59ec69dbcb..e260d28453 100644
--- a/indra/cmake/Boost.cmake
+++ b/indra/cmake/Boost.cmake
@@ -30,7 +30,28 @@ elseif (WINDOWS)
"Check that vcpkg installed boost into ${prefix_result}.")
endif ()
endif ()
-if (NOT (${LINUX_DISTRO} MATCHES freedesktop))
+if ((${LINUX_DISTRO} MATCHES debian AND NOT (CMAKE_SYSTEM_PROCESSOR MATCHES x86_64)) AND (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/boost_installed OR NOT ${boost_installed} EQUAL 0))
+ if (NOT EXISTS ${CMAKE_BINARY_DIR}/boost_1_90_0.tar.bz2)
+ file(DOWNLOAD
+ https://archives.boost.io/release/1.90.0/source/boost_1_90_0.tar.bz2
+ ${CMAKE_BINARY_DIR}/boost_1_90_0.tar.bz2
+ )
+ endif ()
+ file(ARCHIVE_EXTRACT
+ INPUT ${CMAKE_BINARY_DIR}/boost_1_90_0.tar.bz2
+ DESTINATION ${CMAKE_BINARY_DIR}
+ )
+ execute_process(
+ COMMAND ./bootstrap.sh --prefix=${LIBS_PREBUILT_DIR} --libdir=${ARCH_PREBUILT_DIRS_RELEASE}
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/boost_1_90_0
+ )
+ execute_process(
+ COMMAND ./b2 install
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/boost_1_90_0
+ )
+ file(WRITE ${PREBUILD_TRACKING_DIR}/boost_installed "${boost_installed}")
+endif ()
+if (NOT (${LINUX_DISTRO} MATCHES freedesktop OR (${LINUX_DISTRO} MATCHES debian AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64)))
target_link_libraries( ll::boost INTERFACE
boost_context${sfx}
boost_fiber${sfx}