diff options
author | Viktor Szakats <commit@vsz.me> | 2022-10-14 18:19:09 +0000 |
---|---|---|
committer | Viktor Szakats <commit@vsz.me> | 2022-10-14 18:19:09 +0000 |
commit | 67d88626d44ec04b9e11dca4cfbf62cd29fe9781 (patch) | |
tree | f60b5b25f1eab62a3f0ba4bd9d9d7b7d1c3cdf4d /CMakeLists.txt | |
parent | 790779fc3444a5cbf0208dd8b06785bea7f25681 (diff) | |
download | curl-67d88626d44ec04b9e11dca4cfbf62cd29fe9781.tar.gz |
cmake: set HAVE_GETADDRINFO_THREADSAFE on Windows
autotools enables this configuration option unconditionally for Windows
[^1]. Do the same in CMake.
The above will make this work for all reasonably recent environments.
The logic present in `lib/config-win32.h` [^2] has the following
exceptions which we did not cover in this CMake update:
- Builds targeting Windows 2000 and earlier
- MS Visual C++ 5.0 (1997) and earlier
Also make sure to disable this feature when `HAVE_GETADDRINFO` isn't
set, to avoid a broken build. We might want to handle that in the C
sources in a future commit.
[^1]: https://github.com/curl/curl/blob/68fa9bf3f5d7b4fcbb57619f70cb4aabb79a51f6/m4/curl-functions.m4#L2067-L2070
[^2]: https://github.com/curl/curl/blob/68fa9bf3f5d7b4fcbb57619f70cb4aabb79a51f6/lib/config-win32.h#L511-L528
Closes #9727
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index e1704e34a..0ee96db6b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1045,6 +1045,9 @@ check_symbol_exists(_strtoi64 "${CURL_INCLUDES}" HAVE__STRTOI64) check_symbol_exists(strerror_r "${CURL_INCLUDES}" HAVE_STRERROR_R) check_symbol_exists(siginterrupt "${CURL_INCLUDES}" HAVE_SIGINTERRUPT) check_symbol_exists(getaddrinfo "${CURL_INCLUDES}" HAVE_GETADDRINFO) +if(NOT HAVE_GETADDRINFO) + set(HAVE_GETADDRINFO_THREADSAFE OFF) +endif() check_symbol_exists(freeaddrinfo "${CURL_INCLUDES}" HAVE_FREEADDRINFO) check_symbol_exists(pipe "${CURL_INCLUDES}" HAVE_PIPE) check_symbol_exists(ftruncate "${CURL_INCLUDES}" HAVE_FTRUNCATE) |