diff options
| author | Per Malmberg <per.malmberg@snowsoftware.com> | 2017-07-02 01:02:12 +0200 | 
|---|---|---|
| committer | Daniel Stenberg <daniel@haxx.se> | 2017-07-02 01:02:22 +0200 | 
| commit | 4fc6ebe18a607764194ee23e5aa898a027fe3c60 (patch) | |
| tree | 2e423998a4c02e12d3be27794fd5da5d9ef27743 | |
| parent | 8d2b1de284dd1e84e9c68a1a2a75aefaf7bf7826 (diff) | |
cmake: Added compatibility options for older Windows versions
CURL_STATIC_CRT and ENABLE_INET_PTON
Closes #1621
| -rw-r--r-- | CMakeLists.txt | 12 | 
1 files changed, 11 insertions, 1 deletions
| diff --git a/CMakeLists.txt b/CMakeLists.txt index 85ef04104..727ca8153 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -76,6 +76,9 @@ option(BUILD_CURL_EXE "Set to ON to build curl executable." ON)  option(CURL_STATICLIB "Set to ON to build libcurl with static linking." OFF)  option(ENABLE_ARES "Set to ON to enable c-ares support" OFF)  if(WIN32) +  option(CURL_STATIC_CRT "Set to ON to build libcurl with static CRT on Windows (/MT)." OFF) +  option(ENABLE_INET_PTON "Set to OFF to prevent usage of inet_pton when building against modern SDKs while still requiring compatibility with older Windows versions, such as Windows XP, Windows Server 2003 etc." ON) +    CMAKE_DEPENDENT_OPTION(ENABLE_THREADED_RESOLVER                           "Set to ON to enable threaded DNS lookup"                           ON "NOT ENABLE_ARES" @@ -231,6 +234,11 @@ find_package(Perl REQUIRED)  set(CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS}")  set(CMAKE_REQUIRED_FLAGS ${CMAKE_ANSI_CFLAGS}) +if(CURL_STATIC_CRT) +  set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /MT") +  set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} /MTd") +endif() +  # Disable warnings on Borland to avoid changing 3rd party code.  if(BORLAND)    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w-") @@ -924,7 +932,9 @@ check_symbol_exists(ioctl          "${CURL_INCLUDES}" HAVE_IOCTL)  check_symbol_exists(setsockopt     "${CURL_INCLUDES}" HAVE_SETSOCKOPT)  # symbol exists in win32, but function does not. -check_function_exists(inet_pton HAVE_INET_PTON) +if(ENABLE_INET_PTON)   +  check_function_exists(inet_pton HAVE_INET_PTON) +endif()  check_symbol_exists(fsetxattr "${CURL_INCLUDES}" HAVE_FSETXATTR)  if(HAVE_FSETXATTR) | 
