diff -urN cmake-4.1.0-orig/CMakeLists.txt cmake-4.1.0/CMakeLists.txt
--- cmake-4.1.0-orig/CMakeLists.txt	2025-08-05 23:55:57 +0900
+++ cmake-4.1.0/CMakeLists.txt	2025-08-10 07:40:03 +0900
@@ -163,7 +163,7 @@
 
   # Allow the user to enable/disable all system utility library options by
   # defining CMAKE_USE_SYSTEM_LIBRARIES or CMAKE_USE_SYSTEM_LIBRARY_${util}.
-  set(UTILITIES BZIP2 CPPDAP CURL EXPAT FORM JSONCPP LIBARCHIVE LIBLZMA LIBRHASH LIBUV NGHTTP2 ZLIB ZSTD)
+  set(UTILITIES BZIP2 CPPDAP EXPAT FORM JSONCPP LIBARCHIVE LIBLZMA LIBRHASH LIBUV NGHTTP2 ZLIB ZSTD)
   foreach(util IN LISTS UTILITIES)
     if(NOT DEFINED CMAKE_USE_SYSTEM_LIBRARY_${util}
         AND DEFINED CMAKE_USE_SYSTEM_LIBRARIES)
@@ -197,18 +197,16 @@
   if(CMake_ENABLE_DEBUGGER)
     option(CMAKE_USE_SYSTEM_CPPDAP "Use system-installed cppdap" "${CMAKE_USE_SYSTEM_LIBRARY_CPPDAP}")
   endif()
-  option(CMAKE_USE_SYSTEM_CURL "Use system-installed curl" "${CMAKE_USE_SYSTEM_LIBRARY_CURL}")
   option(CMAKE_USE_SYSTEM_EXPAT "Use system-installed expat" "${CMAKE_USE_SYSTEM_LIBRARY_EXPAT}")
   cmake_dependent_option(CMAKE_USE_SYSTEM_ZLIB "Use system-installed zlib"
-    "${CMAKE_USE_SYSTEM_LIBRARY_ZLIB}" "NOT CMAKE_USE_SYSTEM_LIBARCHIVE;NOT CMAKE_USE_SYSTEM_CURL" ON)
+    "${CMAKE_USE_SYSTEM_LIBRARY_ZLIB}" "NOT CMAKE_USE_SYSTEM_LIBARCHIVE" ON)
   cmake_dependent_option(CMAKE_USE_SYSTEM_BZIP2 "Use system-installed bzip2"
     "${CMAKE_USE_SYSTEM_LIBRARY_BZIP2}" "NOT CMAKE_USE_SYSTEM_LIBARCHIVE" ON)
   cmake_dependent_option(CMAKE_USE_SYSTEM_ZSTD "Use system-installed zstd"
     "${CMAKE_USE_SYSTEM_LIBRARY_ZSTD}" "NOT CMAKE_USE_SYSTEM_LIBARCHIVE" ON)
   cmake_dependent_option(CMAKE_USE_SYSTEM_LIBLZMA "Use system-installed liblzma"
     "${CMAKE_USE_SYSTEM_LIBRARY_LIBLZMA}" "NOT CMAKE_USE_SYSTEM_LIBARCHIVE" ON)
-  cmake_dependent_option(CMAKE_USE_SYSTEM_NGHTTP2 "Use system-installed nghttp2"
-    "${CMAKE_USE_SYSTEM_LIBRARY_NGHTTP2}" "NOT CMAKE_USE_SYSTEM_CURL" ON)
+  option(CMAKE_USE_SYSTEM_NGHTTP2 "Use system-installed nghttp2" "${CMAKE_USE_SYSTEM_LIBRARY_NGHTTP2}")
   option(CMAKE_USE_SYSTEM_FORM "Use system-installed libform" "${CMAKE_USE_SYSTEM_LIBRARY_FORM}")
   cmake_dependent_option(CMAKE_USE_SYSTEM_JSONCPP "Use system-installed jsoncpp"
     "${CMAKE_USE_SYSTEM_LIBRARY_JSONCPP}" "NOT CMAKE_USE_SYSTEM_CPPDAP" ON)
@@ -243,7 +241,7 @@
 macro(CMAKE_SETUP_TESTING)
   if(BUILD_TESTING)
     set(CMAKE_TEST_SYSTEM_LIBRARIES 0)
-    foreach(util IN ITEMS CURL EXPAT ZLIB)
+    foreach(util IN ITEMS EXPAT ZLIB)
       if(CMAKE_USE_SYSTEM_${util})
         set(CMAKE_TEST_SYSTEM_LIBRARIES 1)
       endif()
diff -urN cmake-4.1.0-orig/Source/CMakeLists.txt cmake-4.1.0/Source/CMakeLists.txt
--- cmake-4.1.0-orig/Source/CMakeLists.txt	2025-08-05 23:55:57 +0900
+++ cmake-4.1.0/Source/CMakeLists.txt	2025-08-10 07:40:03 +0900
@@ -154,8 +154,6 @@
   cmCPackPropertiesGenerator.cxx
   cmCryptoHash.cxx
   cmCryptoHash.h
-  cmCurl.cxx
-  cmCurl.h
   cmCustomCommand.cxx
   cmCustomCommand.h
   cmCustomCommandGenerator.cxx
@@ -806,7 +804,6 @@
   PUBLIC
     cmstd
     cmsys
-    CURL::libcurl
     EXPAT::EXPAT
     JsonCpp::JsonCpp
     $<TARGET_NAME_IF_EXISTS:kwiml::kwiml>
@@ -1008,8 +1005,7 @@
     "$<$<COMPILE_LANGUAGE:CXX>:cmGeneratorExpression.h>"
     "$<$<COMPILE_LANGUAGE:CXX>:cmArgumentParser.h>"
     "$<$<COMPILE_LANGUAGE:CXX>:cmake.h>"
-    "$<$<COMPILE_LANGUAGE:CXX>:cmCMakePath.h>"
-    "$<$<COMPILE_LANGUAGE:CXX>:cmCurl.h>")
+    "$<$<COMPILE_LANGUAGE:CXX>:cmCMakePath.h>")
 
     set_source_files_properties(
       "LexerParser/cmFortranLexer.cxx"
@@ -1082,7 +1078,6 @@
   CTest/cmCTestConfigureCommand.cxx
   CTest/cmCTestCoverageCommand.cxx
   CTest/cmCTestCoverageHandler.cxx
-  CTest/cmCTestCurl.cxx
   CTest/cmParseMumpsCoverage.cxx
   CTest/cmParseCacheCoverage.cxx
   CTest/cmParseGTMCoverage.cxx
@@ -1160,7 +1155,7 @@
     "<cm3p/uv.h>")
 
   if(WIN32)
-    target_precompile_headers(CTestLib PRIVATE "cmCurl.h" "CTest/cmCTestMultiProcessHandler.h")
+    target_precompile_headers(CTestLib PRIVATE "CTest/cmCTestMultiProcessHandler.h")
   else()
     set_source_files_properties("LexerParser/cmCTestResourceGroupsLexer.cxx" PROPERTIES SKIP_PRECOMPILE_HEADERS ON)
   endif()
diff -urN cmake-4.1.0-orig/Source/CTest/cmCTestSubmitHandler.cxx cmake-4.1.0/Source/CTest/cmCTestSubmitHandler.cxx
--- cmake-4.1.0-orig/Source/CTest/cmCTestSubmitHandler.cxx	2025-08-05 23:55:57 +0900
+++ cmake-4.1.0/Source/CTest/cmCTestSubmitHandler.cxx	2025-08-10 07:40:03 +0900
@@ -12,7 +12,9 @@
 #include <cm/string_view>
 #include <cmext/algorithm>
 
+#if 0
 #include <cm3p/curl/curl.h>
+#endif
 #include <cm3p/json/reader.h>
 #include <cm3p/json/value.h>
 
@@ -130,6 +132,7 @@
   std::string const& localprefix, std::vector<std::string> const& files,
   std::string const& remoteprefix, std::string const& url)
 {
+#if 0
   CURL* curl;
   FILE* ftpfile;
   char error_buffer[1024];
@@ -444,6 +447,10 @@
   ::curl_slist_free_all(headers);
   ::curl_global_cleanup();
   return true;
+#else
+  cmCTestLog(this->CTest, ERROR_MESSAGE, "Uploading not supported by this build.\n");
+  return false;
+#endif
 }
 
 void cmCTestSubmitHandler::ParseResponse(std::vector<char> chunk)
@@ -481,6 +488,7 @@
 int cmCTestSubmitHandler::HandleCDashUploadFile(std::string const& file,
                                                 std::string const& typeString)
 {
+#if 0
   if (!cmSystemTools::FileExists(file)) {
     cmCTestLog(this->CTest, ERROR_MESSAGE,
                "Upload file not found: '" << file << "'\n");
@@ -695,6 +703,10 @@
                      "Upload file response: [" << response << "]\n",
                      this->Quiet);
   return 0;
+#else
+  cmCTestLog(this->CTest, ERROR_MESSAGE, "Uploading not supported by this build.\n");
+  return -1;
+#endif
 }
 
 int cmCTestSubmitHandler::ProcessHandler()
diff -urN cmake-4.1.0-orig/Source/Modules/CMakeBuildUtilities.cmake cmake-4.1.0/Source/Modules/CMakeBuildUtilities.cmake
--- cmake-4.1.0-orig/Source/Modules/CMakeBuildUtilities.cmake	2025-08-05 23:55:57 +0900
+++ cmake-4.1.0/Source/Modules/CMakeBuildUtilities.cmake	2025-08-10 07:40:03 +0900
@@ -136,6 +136,7 @@
 
 #---------------------------------------------------------------------
 # Build Curl library for CTest.
+if(FALSE)
 if(CMAKE_USE_SYSTEM_CURL)
   find_package(CURL)
   if(NOT CURL_FOUND)
@@ -174,6 +175,7 @@
     CMAKE_SET_TARGET_FOLDER(cmnghttp2 "Utilities/3rdParty")
   endif()
 endif()
+endif()
 
 #---------------------------------------------------------------------
 # Build expat library for CMake, CTest, and libarchive.
diff -urN cmake-4.1.0-orig/Source/cmFileCommand.cxx cmake-4.1.0/Source/cmFileCommand.cxx
--- cmake-4.1.0-orig/Source/cmFileCommand.cxx	2025-08-05 23:55:57 +0900
+++ cmake-4.1.0/Source/cmFileCommand.cxx	2025-08-10 07:40:03 +0900
@@ -63,10 +63,12 @@
 #include "cmWorkingDirectory.h"
 #include "cmake.h"
 
-#if !defined(CMAKE_BOOTSTRAP)
+#if 0
 #  include <cm3p/curl/curl.h>
 
 #  include "cmCurl.h"
+#endif
+#if !defined(CMAKE_BOOTSTRAP)
 #  include "cmFileLockResult.h"
 #endif
 
@@ -1690,7 +1692,7 @@
   return HandlePathCommand(args, ToNativePath, status);
 }
 
-#if !defined(CMAKE_BOOTSTRAP)
+#if 0
 
 bool const TLS_VERIFY_DEFAULT = true;
 std::string const TLS_VERSION_DEFAULT = "1.2";
@@ -1874,7 +1876,7 @@
 bool HandleDownloadCommand(std::vector<std::string> const& args,
                            cmExecutionStatus& status)
 {
-#if !defined(CMAKE_BOOTSTRAP)
+#if 0
   auto i = args.begin();
   if (args.size() < 2) {
     status.SetError("DOWNLOAD must be called with at least two arguments.");
@@ -2362,7 +2364,7 @@
 
   return true;
 #else
-  status.SetError("DOWNLOAD not supported by bootstrap cmake.");
+  status.SetError("DOWNLOAD not supported by this build.");
   return false;
 #endif
 }
@@ -2370,7 +2372,7 @@
 bool HandleUploadCommand(std::vector<std::string> const& args,
                          cmExecutionStatus& status)
 {
-#if !defined(CMAKE_BOOTSTRAP)
+#if 0
   if (args.size() < 3) {
     status.SetError("UPLOAD must be called with at least three arguments.");
     return false;
@@ -2732,7 +2734,7 @@
 
   return true;
 #else
-  status.SetError("UPLOAD not supported by bootstrap cmake.");
+  status.SetError("UPLOAD not supported by this build.");
   return false;
 #endif
 }
diff -urN cmake-4.1.0-orig/Source/cmake.cxx cmake-4.1.0/Source/cmake.cxx
--- cmake-4.1.0-orig/Source/cmake.cxx	2025-08-05 23:55:57 +0900
+++ cmake-4.1.0/Source/cmake.cxx	2025-08-10 07:40:03 +0900
@@ -79,7 +79,9 @@
 #if !defined(CMAKE_BOOTSTRAP)
 #  include <unordered_map>
 
+# if 0
 #  include <cm3p/curl/curl.h>
+# endif
 #  include <cm3p/json/writer.h>
 
 #  include "cmConfigureLog.h"
@@ -385,7 +387,9 @@
   std::vector<cmake::GeneratorInfo> generatorInfoList;
   this->GetRegisteredGenerators(generatorInfoList);
 
+#if 0
   auto* curlVersion = curl_version_info(CURLVERSION_FIRST);
+#endif
 
   JsonValueMapType generatorMap;
   for (cmake::GeneratorInfo const& gi : generatorInfoList) {
@@ -421,7 +425,11 @@
   obj["generators"] = generators;
   obj["fileApi"] = cmFileAPI::ReportCapabilities();
   obj["serverMode"] = false;
+#  if 0
   obj["tls"] = static_cast<bool>(curlVersion->features & CURL_VERSION_SSL);
+#  else
+  obj["tls"] = false;
+#  endif
 #  ifdef CMake_ENABLE_DEBUGGER
   obj["debugger"] = true;
 #  else
