From 049352dd80e1ab73945c49a3bac2e4a08db32f98 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Fri, 28 Feb 2025 04:56:12 +0100 Subject: [PATCH] cmake: allow `CURL_STATIC_CRT` with shared libcurl and no curl exe Follow-up to edfa537100d6b5d2ac1b829c66757880afe59407 #16456 Closes #16516 --- CMakeLists.txt | 5 ++--- docs/INSTALL-CMAKE.md | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0f0fa1a668..a7962d710a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -352,13 +352,12 @@ endif() if(WIN32) option(CURL_STATIC_CRT "Build libcurl with static CRT with MSVC (/MT)" OFF) if(CURL_STATIC_CRT AND MSVC) - if(BUILD_STATIC_CURL) + if(BUILD_STATIC_CURL OR NOT BUILD_CURL_EXE) set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") string(APPEND CMAKE_C_FLAGS_RELEASE " -MT") string(APPEND CMAKE_C_FLAGS_DEBUG " -MTd") else() - message(WARNING "Static CRT requires curl executable built with static libcurl " - "(BUILD_STATIC_LIBS=ON and BUILD_STATIC_CURL=ON).") + message(WARNING "Static CRT requires static or no curl executable.") endif() endif() endif() diff --git a/docs/INSTALL-CMAKE.md b/docs/INSTALL-CMAKE.md index 1ff046c2cc..d3439662e4 100644 --- a/docs/INSTALL-CMAKE.md +++ b/docs/INSTALL-CMAKE.md @@ -238,7 +238,7 @@ target_link_libraries(my_target PRIVATE CURL::libcurl) - `CURL_LIBCURL_VERSIONED_SYMBOLS`: Enable libcurl versioned symbols. Default: `OFF` - `CURL_LIBCURL_VERSIONED_SYMBOLS_PREFIX`: Override default versioned symbol prefix. Default: `_` or `MULTISSL_` - `CURL_LTO`: Enable compiler Link Time Optimizations. Default: `OFF` -- `CURL_STATIC_CRT`: Build libcurl with static CRT with MSVC (`/MT`) (requires static curl executable). Default: `OFF` +- `CURL_STATIC_CRT`: Build libcurl with static CRT with MSVC (`/MT`) (requires static or no curl executable). Default: `OFF` - `CURL_TARGET_WINDOWS_VERSION`: Minimum target Windows version as hex string. - `CURL_TEST_BUNDLES`: Bundle `libtest` and `unittest` tests into single binaries. Default: `OFF` - `CURL_WERROR`: Turn compiler warnings into errors. Default: `OFF` -- 2.47.2