Commit 4fc6ebe1 authored by Per Malmberg's avatar Per Malmberg Committed by Daniel Stenberg
Browse files

cmake: Added compatibility options for older Windows versions

CURL_STATIC_CRT and ENABLE_INET_PTON

Closes #1621
parent 8d2b1de2
Loading
Loading
Loading
Loading
+11 −1
Original line number Diff line number Diff line
@@ -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.
if(ENABLE_INET_PTON)  
  check_function_exists(inet_pton HAVE_INET_PTON)
endif()

check_symbol_exists(fsetxattr "${CURL_INCLUDES}" HAVE_FSETXATTR)
if(HAVE_FSETXATTR)