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) |