changeset 7138:69c6e1a1dca1

2 new cmake options to download 3rd parties from another webserver
author Alain Mazy <am@orthanc.team>
date Thu, 27 Aug 2026 11:44:50 +0200
parents a3923ae96abd
children c1dcb63cde6f
files NEWS OrthancFramework/Resources/CMake/BoostConfiguration.cmake OrthancFramework/Resources/CMake/BoostConfigurationStatic-1.69.0.cmake OrthancFramework/Resources/CMake/CivetwebConfiguration.cmake OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.6.0.cmake OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.6.2.cmake OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.6.4.cmake OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.6.5.cmake OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.6.6.cmake OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.6.7.cmake OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.6.8.cmake OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.6.9.cmake OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.7.0.cmake OrthancFramework/Resources/CMake/DownloadOrthancFramework.cmake OrthancFramework/Resources/CMake/GoogleTestConfiguration.cmake OrthancFramework/Resources/CMake/JsonCppConfiguration.cmake OrthancFramework/Resources/CMake/LibCurlConfiguration.cmake OrthancFramework/Resources/CMake/LibIconvConfiguration.cmake OrthancFramework/Resources/CMake/LibJpegConfiguration.cmake OrthancFramework/Resources/CMake/LibP11Configuration.cmake OrthancFramework/Resources/CMake/LibPngConfiguration.cmake OrthancFramework/Resources/CMake/LuaConfiguration.cmake OrthancFramework/Resources/CMake/MongooseConfiguration.cmake OrthancFramework/Resources/CMake/OpenSslConfigurationStatic-1.1.1.cmake OrthancFramework/Resources/CMake/OpenSslConfigurationStatic-3.0.cmake OrthancFramework/Resources/CMake/OrthancFrameworkParameters.cmake OrthancFramework/Resources/CMake/PugixmlConfiguration.cmake OrthancFramework/Resources/CMake/SQLiteConfiguration.cmake OrthancFramework/Resources/CMake/UuidConfiguration.cmake OrthancFramework/Resources/CMake/WebAssembly/ArithmeticTests/CMakeLists.txt OrthancFramework/Resources/CMake/ZlibConfiguration.cmake OrthancFramework/Resources/ProtocolBuffers/ProtobufLibrary.cmake OrthancFramework/Resources/ThirdParty/icu/Version.cmake OrthancServer/Plugins/Samples/ConnectivityChecks/JavaScriptLibraries.cmake
diffstat 34 files changed, 43 insertions(+), 36 deletions(-) [+]
line wrap: on
line diff
--- a/NEWS	Mon Aug 24 09:51:58 2026 +0200
+++ b/NEWS	Thu Aug 27 11:44:50 2026 +0200
@@ -10,6 +10,9 @@
 -----------
 
 * Fixed a TCP socket leak when a DICOM association is received with an invalid calling AET.
+* New CMake options: 
+  - "THIRD_PARTY_DOWNLOADS_ROOT_URL" to specify another webserver to downloads the third-parties from.
+  - "ORTHANC_SOURCES_DOWNLOADS_ROOT_URL" to specify another webserver to downloads the Orthanc sources from.
 
 
 Version 1.13.0 (2026-08-15)
--- a/OrthancFramework/Resources/CMake/BoostConfiguration.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/BoostConfiguration.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -104,7 +104,7 @@
   set(BOOST_VERSION 1.89.0)
   set(BOOST_BCP_SUFFIX bcpdigest-1.12.11)
   set(BOOST_MD5 "af98f0ba3507cb611e78f96fe8bd0a7c")
-  set(BOOST_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/${BOOST_NAME}_${BOOST_BCP_SUFFIX}.tar.gz")
+  set(BOOST_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/${BOOST_NAME}_${BOOST_BCP_SUFFIX}.tar.gz")
   set(BOOST_SOURCES_DIR ${CMAKE_BINARY_DIR}/${BOOST_NAME})
 
   if (IS_DIRECTORY "${BOOST_SOURCES_DIR}")
--- a/OrthancFramework/Resources/CMake/BoostConfigurationStatic-1.69.0.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/BoostConfigurationStatic-1.69.0.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -29,7 +29,7 @@
   set(BOOST_VERSION 1.69.0)
   set(BOOST_BCP_SUFFIX bcpdigest-1.5.6)
   set(BOOST_MD5 "579bccc0ea4d1a261c1d0c5e27446c3d")
-  set(BOOST_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/${BOOST_NAME}_${BOOST_BCP_SUFFIX}.tar.gz")
+  set(BOOST_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/${BOOST_NAME}_${BOOST_BCP_SUFFIX}.tar.gz")
   set(BOOST_SOURCES_DIR ${CMAKE_BINARY_DIR}/${BOOST_NAME})
 
   if (IS_DIRECTORY "${BOOST_SOURCES_DIR}")
--- a/OrthancFramework/Resources/CMake/CivetwebConfiguration.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/CivetwebConfiguration.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -28,14 +28,14 @@
   ## "civetweb-1.16-fixed.tar.gz" as follows:
   ##
   ##  $ cd /tmp
-  ##  $ wget https://orthanc.uclouvain.be/downloads/third-party-downloads/civetweb-1.16.tar.gz
+  ##  $ wget ${THIRD_PARTY_DOWNLOADS_ROOT_URL}/civetweb-1.16.tar.gz
   ##  $ tar xvf civetweb-1.16.tar.gz
   ##  $ rm -rf civetweb-1.16/src/third_party/ civetweb-1.16/test/
   ##  $ tar cvfz civetweb-1.16-fixed.tar.gz civetweb-1.16
   ##
 
   set(CIVETWEB_SOURCES_DIR ${CMAKE_BINARY_DIR}/civetweb-1.16)
-  set(CIVETWEB_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/civetweb-1.16-fixed.tar.gz")
+  set(CIVETWEB_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/civetweb-1.16-fixed.tar.gz")
   set(CIVETWEB_MD5 "038edf77ea37e47def9458e8903cd53d")
 
   if (IS_DIRECTORY "${CIVETWEB_SOURCES_DIR}")
--- a/OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.6.0.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.6.0.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -23,7 +23,7 @@
 SET(DCMTK_VERSION_NUMBER 360)
 SET(DCMTK_PACKAGE_VERSION "3.6.0")
 SET(DCMTK_SOURCES_DIR ${CMAKE_BINARY_DIR}/dcmtk-3.6.0)
-SET(DCMTK_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/dcmtk-3.6.0.zip")
+SET(DCMTK_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/dcmtk-3.6.0.zip")
 SET(DCMTK_MD5 "219ad631b82031806147e4abbfba4fa4")
 
 if (IS_DIRECTORY "${DCMTK_SOURCES_DIR}")
--- a/OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.6.2.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.6.2.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -23,7 +23,7 @@
 SET(DCMTK_VERSION_NUMBER 362)
 SET(DCMTK_PACKAGE_VERSION "3.6.2")
 SET(DCMTK_SOURCES_DIR ${CMAKE_BINARY_DIR}/dcmtk-3.6.2)
-SET(DCMTK_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/dcmtk-3.6.2.tar.gz")
+SET(DCMTK_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/dcmtk-3.6.2.tar.gz")
 SET(DCMTK_MD5 "d219a4152772985191c9b89d75302d12")
 
 macro(DCMTK_UNSET)
--- a/OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.6.4.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.6.4.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -23,7 +23,7 @@
 SET(DCMTK_VERSION_NUMBER 364)
 SET(DCMTK_PACKAGE_VERSION "3.6.4")
 SET(DCMTK_SOURCES_DIR ${CMAKE_BINARY_DIR}/dcmtk-3.6.4)
-SET(DCMTK_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/dcmtk-3.6.4.tar.gz")
+SET(DCMTK_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/dcmtk-3.6.4.tar.gz")
 SET(DCMTK_MD5 "97597439a2ae7a39086066318db5f3bc")
 
 macro(DCMTK_UNSET)
--- a/OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.6.5.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.6.5.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -23,7 +23,7 @@
 SET(DCMTK_VERSION_NUMBER 365)
 SET(DCMTK_PACKAGE_VERSION "3.6.5")
 SET(DCMTK_SOURCES_DIR ${CMAKE_BINARY_DIR}/dcmtk-3.6.5)
-SET(DCMTK_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/dcmtk-3.6.5.tar.gz")
+SET(DCMTK_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/dcmtk-3.6.5.tar.gz")
 SET(DCMTK_MD5 "e19707f64ee5695c496b9c1e48e39d07")
 
 macro(DCMTK_UNSET)
--- a/OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.6.6.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.6.6.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -23,7 +23,7 @@
 SET(DCMTK_VERSION_NUMBER 366)
 SET(DCMTK_PACKAGE_VERSION "3.6.6")
 SET(DCMTK_SOURCES_DIR ${CMAKE_BINARY_DIR}/dcmtk-3.6.6)
-SET(DCMTK_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/dcmtk-3.6.6.tar.gz")
+SET(DCMTK_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/dcmtk-3.6.6.tar.gz")
 SET(DCMTK_MD5 "f815879d315b916366a9da71339c7575")
 
 macro(DCMTK_UNSET)
--- a/OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.6.7.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.6.7.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -23,7 +23,7 @@
 SET(DCMTK_VERSION_NUMBER 367)
 SET(DCMTK_PACKAGE_VERSION "3.6.7")
 SET(DCMTK_SOURCES_DIR ${CMAKE_BINARY_DIR}/dcmtk-3.6.7)
-SET(DCMTK_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/dcmtk-3.6.7.tar.gz")
+SET(DCMTK_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/dcmtk-3.6.7.tar.gz")
 SET(DCMTK_MD5 "e4d519bb315ec3944f3f1d61df465cbd")
 
 macro(DCMTK_UNSET)
--- a/OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.6.8.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.6.8.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -23,7 +23,7 @@
 SET(DCMTK_VERSION_NUMBER 368)
 SET(DCMTK_PACKAGE_VERSION "3.6.8")
 SET(DCMTK_SOURCES_DIR ${CMAKE_BINARY_DIR}/dcmtk-DCMTK-3.6.8)
-SET(DCMTK_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/dcmtk-3.6.8.tar.gz")
+SET(DCMTK_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/dcmtk-3.6.8.tar.gz")
 SET(DCMTK_MD5 "ce3e878c05165f1a3322c29e67f2426f")
 
 macro(DCMTK_UNSET)
--- a/OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.6.9.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.6.9.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -23,7 +23,7 @@
 SET(DCMTK_VERSION_NUMBER 369)
 SET(DCMTK_PACKAGE_VERSION "3.6.9")
 SET(DCMTK_SOURCES_DIR ${CMAKE_BINARY_DIR}/dcmtk-3.6.9)
-SET(DCMTK_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/dcmtk-3.6.9.tar.gz")
+SET(DCMTK_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/dcmtk-3.6.9.tar.gz")
 SET(DCMTK_MD5 "cb30587f8da760c832a4f19d159acda5")
 
 macro(DCMTK_UNSET)
--- a/OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.7.0.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/DcmtkConfigurationStatic-3.7.0.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -23,7 +23,7 @@
 SET(DCMTK_VERSION_NUMBER 370)
 SET(DCMTK_PACKAGE_VERSION "3.7.0")
 SET(DCMTK_SOURCES_DIR ${CMAKE_BINARY_DIR}/dcmtk-3.7.0)
-SET(DCMTK_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/dcmtk-3.7.0.tar.gz")
+SET(DCMTK_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/dcmtk-3.7.0.tar.gz")
 SET(DCMTK_MD5 "15531c6d20e188aa8b0f237a84b95bc2")
 
 macro(DCMTK_UNSET)
--- a/OrthancFramework/Resources/CMake/DownloadOrthancFramework.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/DownloadOrthancFramework.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -382,9 +382,9 @@
     # Default case: Download from the official Web site
     set(ORTHANC_FRAMEMORK_FILENAME Orthanc-${ORTHANC_FRAMEWORK_VERSION}.tar.gz)
     if (ORTHANC_FRAMEWORK_PRE_RELEASE)
-      set(ORTHANC_FRAMEWORK_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/orthanc-framework/${ORTHANC_FRAMEMORK_FILENAME}")
+      set(ORTHANC_FRAMEWORK_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/orthanc-framework/${ORTHANC_FRAMEMORK_FILENAME}")
     else()
-      set(ORTHANC_FRAMEWORK_URL "https://orthanc.uclouvain.be/downloads/sources/orthanc/${ORTHANC_FRAMEMORK_FILENAME}")
+      set(ORTHANC_FRAMEWORK_URL "${ORTHANC_SOURCES_DOWNLOADS_ROOT_URL}/${ORTHANC_FRAMEMORK_FILENAME}")
     endif()
   endif()
 
--- a/OrthancFramework/Resources/CMake/GoogleTestConfiguration.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/GoogleTestConfiguration.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -51,7 +51,7 @@
 
 elseif (STATIC_BUILD OR NOT USE_SYSTEM_GOOGLE_TEST)
   set(GOOGLE_TEST_SOURCES_DIR ${CMAKE_BINARY_DIR}/googletest-release-1.8.1)
-  set(GOOGLE_TEST_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/gtest-1.8.1.tar.gz")
+  set(GOOGLE_TEST_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/gtest-1.8.1.tar.gz")
   set(GOOGLE_TEST_MD5 "2e6fbeb6a91310a16efe181886c59596")
 
   DownloadPackage(${GOOGLE_TEST_MD5} ${GOOGLE_TEST_URL} "${GOOGLE_TEST_SOURCES_DIR}")
--- a/OrthancFramework/Resources/CMake/JsonCppConfiguration.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/JsonCppConfiguration.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -25,12 +25,12 @@
 if (STATIC_BUILD OR NOT USE_SYSTEM_JSONCPP)
   if (USE_LEGACY_JSONCPP)
     set(JSONCPP_SOURCES_DIR ${CMAKE_BINARY_DIR}/jsoncpp-0.10.7)
-    set(JSONCPP_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/jsoncpp-0.10.7.tar.gz")
+    set(JSONCPP_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/jsoncpp-0.10.7.tar.gz")
     set(JSONCPP_MD5 "3a8072ca6a1fa9cbaf7715ae625f134f")
     add_definitions(-DORTHANC_LEGACY_JSONCPP=1)
   else()
     set(JSONCPP_SOURCES_DIR ${CMAKE_BINARY_DIR}/jsoncpp-1.9.5)
-    set(JSONCPP_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/jsoncpp-1.9.5.tar.gz")
+    set(JSONCPP_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/jsoncpp-1.9.5.tar.gz")
     set(JSONCPP_MD5 "d6c8c609f2162eff373db62b90a051c7")
     add_definitions(-DORTHANC_LEGACY_JSONCPP=0)
     set(JSONCPP_CXX11 ON)
--- a/OrthancFramework/Resources/CMake/LibCurlConfiguration.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/LibCurlConfiguration.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -22,7 +22,7 @@
 
 if (STATIC_BUILD OR NOT USE_SYSTEM_CURL)
   SET(CURL_SOURCES_DIR ${CMAKE_BINARY_DIR}/curl-8.17.0)
-  SET(CURL_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/curl-8.17.0.tar.gz")
+  SET(CURL_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/curl-8.17.0.tar.gz")
   SET(CURL_MD5 "71e24b00f40a7503c1d07886e42d6305")
 
   if (IS_DIRECTORY "${CURL_SOURCES_DIR}")
--- a/OrthancFramework/Resources/CMake/LibIconvConfiguration.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/LibIconvConfiguration.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -24,7 +24,7 @@
 
 if (STATIC_BUILD OR NOT USE_SYSTEM_LIBICONV)
   set(LIBICONV_SOURCES_DIR ${CMAKE_BINARY_DIR}/libiconv-1.15)
-  set(LIBICONV_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/libiconv-1.15.tar.gz")
+  set(LIBICONV_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/libiconv-1.15.tar.gz")
   set(LIBICONV_MD5 "ace8b5f2db42f7b3b3057585e80d9808")
 
   DownloadPackage(${LIBICONV_MD5} ${LIBICONV_URL} "${LIBICONV_SOURCES_DIR}")
--- a/OrthancFramework/Resources/CMake/LibJpegConfiguration.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/LibJpegConfiguration.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -24,7 +24,7 @@
   set(LIBJPEG_SOURCES_DIR ${CMAKE_BINARY_DIR}/jpeg-9f)
   DownloadPackage(
     "9ca58d68febb0fa9c1c087045b9a5483"
-    "https://orthanc.uclouvain.be/downloads/third-party-downloads/jpegsrc.v9f.tar.gz"
+    "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/jpegsrc.v9f.tar.gz"
     "${LIBJPEG_SOURCES_DIR}")
 
   include_directories(
--- a/OrthancFramework/Resources/CMake/LibP11Configuration.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/LibP11Configuration.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -26,7 +26,7 @@
   endif()
 
   SET(LIBP11_SOURCES_DIR ${CMAKE_BINARY_DIR}/libp11-0.4.0)
-  SET(LIBP11_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/libp11-0.4.0.tar.gz")
+  SET(LIBP11_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/libp11-0.4.0.tar.gz")
   SET(LIBP11_MD5 "00b3e41db5be840d822bda12f3ab2ca7")
 
   if (IS_DIRECTORY "${LIBP11_SOURCES_DIR}")
--- a/OrthancFramework/Resources/CMake/LibPngConfiguration.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/LibPngConfiguration.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -22,7 +22,7 @@
 
 if (STATIC_BUILD OR NOT USE_SYSTEM_LIBPNG)
   SET(LIBPNG_SOURCES_DIR ${CMAKE_BINARY_DIR}/libpng-1.6.50)
-  SET(LIBPNG_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/libpng-1.6.50.tar.gz")
+  SET(LIBPNG_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/libpng-1.6.50.tar.gz")
   SET(LIBPNG_MD5 "eef2d3da281ae83ac8a8f5fd9fa9d325")
 
   DownloadPackage(${LIBPNG_MD5} ${LIBPNG_URL} "${LIBPNG_SOURCES_DIR}")
--- a/OrthancFramework/Resources/CMake/LuaConfiguration.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/LuaConfiguration.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -23,7 +23,7 @@
 if (STATIC_BUILD OR NOT USE_SYSTEM_LUA)
   SET(LUA_SOURCES_DIR ${CMAKE_BINARY_DIR}/lua-5.4.7)
   SET(LUA_MD5 "fc3f3291353bbe6ee6dec85ee61331e8")
-  SET(LUA_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/lua-5.4.7.tar.gz")
+  SET(LUA_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/lua-5.4.7.tar.gz")
 
   DownloadPackage(${LUA_MD5} ${LUA_URL} "${LUA_SOURCES_DIR}")
 
--- a/OrthancFramework/Resources/CMake/MongooseConfiguration.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/MongooseConfiguration.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -33,7 +33,7 @@
     # Use Mongoose 3.1
     DownloadPackage(
       "e718fc287b4eb1bd523be3fa00942bb0"
-      "https://orthanc.uclouvain.be/downloads/third-party-downloads/mongoose-3.1.tgz"
+      "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/mongoose-3.1.tgz"
       "${MONGOOSE_SOURCES_DIR}")
 
     add_definitions(-DMONGOOSE_USE_CALLBACKS=0)
@@ -43,7 +43,7 @@
     # Use Mongoose 3.8
     DownloadPackage(
       "7e3296295072792cdc3c633f9404e0c3"
-      "https://orthanc.uclouvain.be/downloads/third-party-downloads/mongoose-3.8.tgz"
+      "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/mongoose-3.8.tgz"
       "${MONGOOSE_SOURCES_DIR}")
 
     add_definitions(-DMONGOOSE_USE_CALLBACKS=1)
--- a/OrthancFramework/Resources/CMake/OpenSslConfigurationStatic-1.1.1.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/OpenSslConfigurationStatic-1.1.1.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -21,7 +21,7 @@
 
 
 SET(OPENSSL_SOURCES_DIR ${CMAKE_BINARY_DIR}/openssl-1.1.1k)
-SET(OPENSSL_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/openssl-1.1.1k.tar.gz")
+SET(OPENSSL_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/openssl-1.1.1k.tar.gz")
 SET(OPENSSL_MD5 "c4e7d95f782b08116afa27b30393dd27")
 
 if (IS_DIRECTORY "${OPENSSL_SOURCES_DIR}")
--- a/OrthancFramework/Resources/CMake/OpenSslConfigurationStatic-3.0.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/OpenSslConfigurationStatic-3.0.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -26,7 +26,7 @@
 set(OPENSSL_VERSION_PRE_RELEASE "")
 set(OPENSSL_VERSION_FULL "${OPENSSL_VERSION_MAJOR}.${OPENSSL_VERSION_MINOR}.${OPENSSL_VERSION_PATCH}${OPENSSL_VERSION_PRE_RELEASE}")
 SET(OPENSSL_SOURCES_DIR ${CMAKE_BINARY_DIR}/openssl-${OPENSSL_VERSION_FULL})
-SET(OPENSSL_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/openssl-${OPENSSL_VERSION_FULL}.tar.gz")
+SET(OPENSSL_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/openssl-${OPENSSL_VERSION_FULL}.tar.gz")
 SET(OPENSSL_MD5 "653ad58812c751b887e8ec37e02bba70")
 
 if (IS_DIRECTORY "${OPENSSL_SOURCES_DIR}")
--- a/OrthancFramework/Resources/CMake/OrthancFrameworkParameters.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/OrthancFrameworkParameters.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -51,6 +51,10 @@
 ## CMake parameters tunable by the user
 #####################################################################
 
+# Customize the downloads url in case your device does not have access to uclouvain servers
+set(THIRD_PARTY_DOWNLOADS_ROOT_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads" CACHE STRING "The base URL to download the 3rd parties from")
+set(ORTHANC_SOURCES_DOWNLOADS_ROOT_URL "https://orthanc.uclouvain.be/downloads/sources/orthanc" CACHE STRING "The base URL to download the Orthanc sources from")
+
 # Support of static compilation
 set(ALLOW_DOWNLOADS OFF CACHE BOOL "Allow CMake to download packages")
 set(STATIC_BUILD OFF CACHE BOOL "Static build of the third-party libraries (necessary for Windows)")
--- a/OrthancFramework/Resources/CMake/PugixmlConfiguration.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/PugixmlConfiguration.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -23,7 +23,7 @@
 if (STATIC_BUILD OR NOT USE_SYSTEM_PUGIXML)
   set(PUGIXML_SOURCES_DIR ${CMAKE_BINARY_DIR}/pugixml-1.14)
   set(PUGIXML_MD5 "06e4242ee2352ee63c2b6627c6e3addb")
-  set(PUGIXML_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/pugixml-1.14.tar.gz")
+  set(PUGIXML_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/pugixml-1.14.tar.gz")
 
   DownloadPackage(${PUGIXML_MD5} ${PUGIXML_URL} "${PUGIXML_SOURCES_DIR}")
 
--- a/OrthancFramework/Resources/CMake/SQLiteConfiguration.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/SQLiteConfiguration.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -30,7 +30,7 @@
 if (SQLITE_STATIC)
   SET(SQLITE_SOURCES_DIR ${CMAKE_BINARY_DIR}/sqlite-amalgamation-3500400)
   SET(SQLITE_MD5 "440abd85c5ee3297dd388ade51fec0cc")
-  SET(SQLITE_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/sqlite-amalgamation-3500400.zip")
+  SET(SQLITE_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/sqlite-amalgamation-3500400.zip")
 
   set(ORTHANC_SQLITE_VERSION 3046001)
 
--- a/OrthancFramework/Resources/CMake/UuidConfiguration.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/UuidConfiguration.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -24,7 +24,7 @@
 
   if (STATIC_BUILD OR NOT USE_SYSTEM_UUID)
     SET(E2FSPROGS_SOURCES_DIR ${CMAKE_BINARY_DIR}/e2fsprogs-1.44.5)
-    SET(E2FSPROGS_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/e2fsprogs-1.44.5.tar.gz")
+    SET(E2FSPROGS_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/e2fsprogs-1.44.5.tar.gz")
     SET(E2FSPROGS_MD5 "8d78b11d04d26c0b2dd149529441fa80")
 
     if (IS_DIRECTORY "${E2FSPROGS_SOURCES_DIR}")
--- a/OrthancFramework/Resources/CMake/WebAssembly/ArithmeticTests/CMakeLists.txt	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/WebAssembly/ArithmeticTests/CMakeLists.txt	Thu Aug 27 11:44:50 2026 +0200
@@ -52,7 +52,7 @@
 include(${CMAKE_SOURCE_DIR}/../../DownloadPackage.cmake)
 
 set(DCMTK_SOURCES_DIR ${CMAKE_BINARY_DIR}/dcmtk-3.6.2)
-set(DCMTK_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/dcmtk-3.6.2.tar.gz")
+set(DCMTK_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/dcmtk-3.6.2.tar.gz")
 set(DCMTK_MD5 "d219a4152772985191c9b89d75302d12")
 
 if (IS_DIRECTORY "${DCMTK_SOURCES_DIR}")
--- a/OrthancFramework/Resources/CMake/ZlibConfiguration.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/CMake/ZlibConfiguration.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -22,7 +22,7 @@
 
 if (STATIC_BUILD OR NOT USE_SYSTEM_ZLIB)
   SET(ZLIB_SOURCES_DIR ${CMAKE_BINARY_DIR}/zlib-1.3.1)
-  SET(ZLIB_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads/zlib-1.3.1.tar.gz")
+  SET(ZLIB_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/zlib-1.3.1.tar.gz")
   SET(ZLIB_MD5 "9855b6d802d7fe5b7bd5b196a2271655")
 
   if (IS_DIRECTORY "${ZLIB_SOURCES_DIR}")
--- a/OrthancFramework/Resources/ProtocolBuffers/ProtobufLibrary.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/ProtocolBuffers/ProtobufLibrary.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -30,7 +30,7 @@
 
 DownloadPackage(
   "ca0d9b243e649d398a6b419acd35103a"
-  "https://orthanc.uclouvain.be/downloads/third-party-downloads/protobuf-cpp-3.5.1.tar.gz"
+  "${THIRD_PARTY_DOWNLOADS_ROOT_URL}/protobuf-cpp-3.5.1.tar.gz"
   "${CMAKE_CURRENT_BINARY_DIR}/protobuf-3.5.1")
 
 if (FirstRun)
--- a/OrthancFramework/Resources/ThirdParty/icu/Version.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancFramework/Resources/ThirdParty/icu/Version.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -33,7 +33,7 @@
   set(LIBICU_SUFFIX "l")
 endif()
 
-set(LIBICU_BASE_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads")
+set(LIBICU_BASE_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}")
 
 if (USE_LEGACY_LIBICU)
   # This is the latest version of icu that compiles without C++11
--- a/OrthancServer/Plugins/Samples/ConnectivityChecks/JavaScriptLibraries.cmake	Mon Aug 24 09:51:58 2026 +0200
+++ b/OrthancServer/Plugins/Samples/ConnectivityChecks/JavaScriptLibraries.cmake	Thu Aug 27 11:44:50 2026 +0200
@@ -19,7 +19,7 @@
 # along with this program. If not, see <http://www.gnu.org/licenses/>.
 
 
-set(BASE_URL "https://orthanc.uclouvain.be/downloads/third-party-downloads")
+set(BASE_URL "${THIRD_PARTY_DOWNLOADS_ROOT_URL}")
 
 DownloadPackage(
   "da0189f7c33bf9f652ea65401e0a3dc9"