File 0010-Use-bundled-expected-gsl-lite-websocketpp.patch of Package rstudio
From 834b274627e6b2b9191ff8e8a84100517b42ffdf Mon Sep 17 00:00:00 2001
From: haem <mixosaurus+obs@pm.me>
Date: Fri, 12 Sep 2025 18:03:43 +0200
Subject: [PATCH 10/12] Use bundled expected, gsl-lite, websocketpp
---
src/cpp/core/CMakeLists.txt | 4 ++--
src/cpp/ext/CMakeLists.txt | 16 +++++++++++++---
2 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/src/cpp/core/CMakeLists.txt b/src/cpp/core/CMakeLists.txt
index 563f4c38..0fa71d81 100644
--- a/src/cpp/core/CMakeLists.txt
+++ b/src/cpp/core/CMakeLists.txt
@@ -334,9 +334,9 @@ target_link_libraries(rstudio-core
${SOCI_LIBRARIES}
${CORE_SYSTEM_LIBRARIES}
fmt::fmt
- gsl::gsl-lite-v1
- tl::expected
yaml-cpp::yaml-cpp
+ gsl-lite
+ expected
)
if(WIN32)
diff --git a/src/cpp/ext/CMakeLists.txt b/src/cpp/ext/CMakeLists.txt
index bc4f84cf..4c6349cc 100644
--- a/src/cpp/ext/CMakeLists.txt
+++ b/src/cpp/ext/CMakeLists.txt
@@ -207,11 +207,17 @@ function(fetch)
list(GET ARGV ${_INDEX1} _PREFIX)
if(${_PREFIX}_FETCHED)
- message(STATUS "Fetching dependency ${_NAME} ${${_PREFIX}_VERSION}")
- FetchContent_MakeAvailable("${_NAME}")
- message(STATUS "Fetching dependency ${_NAME} ${${_PREFIX}_VERSION} - success")
set("${_PREFIX}_SOURCE_DIR" "${CMAKE_BINARY_DIR}/_deps/${_NAME}-src" CACHE INTERNAL "")
set("${_PREFIX}_BINARY_DIR" "${CMAKE_BINARY_DIR}/_deps/${_NAME}-build" CACHE INTERNAL "")
+
+ if(NOT ${_PREFIX}_BUNDLED)
+ message(STATUS "Fetching dependency ${_NAME} ${${_PREFIX}_VERSION}")
+ FetchContent_MakeAvailable("${_NAME}")
+ message(STATUS "Fetching dependency ${_NAME} ${${_PREFIX}_VERSION} - success")
+ else()
+ add_subdirectory(${${_PREFIX}_SOURCE_DIR} ${${_PREFIX}_BINARY_DIR})
+ message(STATUS "Using bundled dependency ${_NAME} ${${_PREFIX}_VERSION} at ${${_PREFIX}_SOURCE_DIR}")
+ endif()
endif()
endwhile()
@@ -219,6 +225,10 @@ function(fetch)
endfunction()
+set(EXPECTED_BUNDLED TRUE)
+set(GSL_LITE_BUNDLED TRUE)
+set(WEBSOCKETPP_BUNDLED TRUE)
+
fetch(
expected EXPECTED
fmt FMT
--
2.51.0