@@ -12,7 +12,7 @@ INCLUDE (CheckCSourceCompiles)
1212INCLUDE (CheckStructHasMember)
1313INCLUDE (CheckLibraryExists)
1414
15- PROJECT (c-ares LANGUAGES C VERSION "1.34.4 " )
15+ PROJECT (c-ares LANGUAGES C VERSION "1.34.5 " )
1616
1717# Set this version before release
1818SET (CARES_VERSION "${PROJECT_VERSION} " )
@@ -30,7 +30,7 @@ INCLUDE (GNUInstallDirs) # include this *AFTER* PROJECT(), otherwise paths are w
3030# For example, a version of 4:0:2 would generate output such as:
3131# libname.so -> libname.so.2
3232# libname.so.2 -> libname.so.2.2.0
33- SET (CARES_LIB_VERSIONINFO "21:3 :19" )
33+ SET (CARES_LIB_VERSIONINFO "21:4 :19" )
3434
3535
3636OPTION (CARES_STATIC "Build as a static library" OFF )
@@ -274,12 +274,14 @@ ELSEIF (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
274274ELSEIF (CMAKE_SYSTEM_NAME STREQUAL "QNX" )
275275 LIST (APPEND SYSFLAGS -D_QNX_SOURCE)
276276ELSEIF (WIN32 )
277- LIST (APPEND SYSFLAGS -DWIN32_LEAN_AND_MEAN -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_WIN32_WINNT=0x0602)
277+ LIST (APPEND SYSFLAGS -DWIN32_LEAN_AND_MEAN -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE)
278+ IF (NOT CMAKE_C_FLAGS MATCHES ".*-D_WIN32_WINNT=.*" )
279+ LIST (APPEND SYSFLAGS -D_WIN32_WINNT=0x0602)
280+ ENDIF ()
278281ENDIF ()
279282ADD_DEFINITIONS (${SYSFLAGS} )
280283
281284
282-
283285# Tell C-Ares about libraries to depend on
284286IF (HAVE_LIBRESOLV)
285287 LIST (APPEND CARES_DEPENDENT_LIBS resolv)
@@ -426,6 +428,7 @@ CHECK_SYMBOL_EXISTS (getservbyname_r "${CMAKE_EXTRA_INCLUDE_FILES}" HAVE_GETSERV
426428CHECK_SYMBOL_EXISTS (gettimeofday "${CMAKE_EXTRA_INCLUDE_FILES} " HAVE_GETTIMEOFDAY)
427429CHECK_SYMBOL_EXISTS (if_indextoname "${CMAKE_EXTRA_INCLUDE_FILES} " HAVE_IF_INDEXTONAME)
428430CHECK_SYMBOL_EXISTS (if_nametoindex "${CMAKE_EXTRA_INCLUDE_FILES} " HAVE_IF_NAMETOINDEX)
431+ CHECK_SYMBOL_EXISTS (GetBestRoute2 "${CMAKE_EXTRA_INCLUDE_FILES} " HAVE_GETBESTROUTE2)
429432CHECK_SYMBOL_EXISTS (ConvertInterfaceIndexToLuid "${CMAKE_EXTRA_INCLUDE_FILES} " HAVE_CONVERTINTERFACEINDEXTOLUID)
430433CHECK_SYMBOL_EXISTS (ConvertInterfaceLuidToNameA "${CMAKE_EXTRA_INCLUDE_FILES} " HAVE_CONVERTINTERFACELUIDTONAMEA)
431434CHECK_SYMBOL_EXISTS (NotifyIpInterfaceChange "${CMAKE_EXTRA_INCLUDE_FILES} " HAVE_NOTIFYIPINTERFACECHANGE)
@@ -503,11 +506,7 @@ IF (CARES_THREADS)
503506 CARES_EXTRAINCLUDE_IFSET (HAVE_PTHREAD_H pthread.h)
504507 CARES_EXTRAINCLUDE_IFSET (HAVE_PTHREAD_NP_H pthread_np.h)
505508 CHECK_SYMBOL_EXISTS (pthread_init "${CMAKE_EXTRA_INCLUDE_FILES} " HAVE_PTHREAD_INIT)
506- # Make sure libcares.pc.cmake knows about thread libraries on static builds
507- # The variable set by FIND_PACKAGE(Threads) has a -l prefix on it, we need
508- # to strip that first since CARES_DEPENDENT_LIBS doesn't expect that.
509- STRING (REPLACE "-l" "" CARES_THREAD_LIBRARY "${CMAKE_THREAD_LIBS_INIT} " )
510- LIST (APPEND CARES_DEPENDENT_LIBS ${CARES_THREAD_LIBRARY} )
509+ LIST (APPEND CARES_DEPENDENT_LIBS ${CMAKE_THREAD_LIBS_INIT} )
511510 ELSE ()
512511 MESSAGE (WARNING "Threading support not found, disabling..." )
513512 SET (CARES_THREADS OFF )
@@ -777,7 +776,10 @@ IF (CARES_INSTALL)
777776
778777 # pkgconfig support for static builds
779778 FOREACH (LIB ${CARES_DEPENDENT_LIBS} )
780- SET (CARES_PRIVATE_LIBS "${CARES_PRIVATE_LIBS} -l${LIB} " )
779+ IF (NOT LIB MATCHES "^-" )
780+ SET (LIB "-l${LIB} " )
781+ ENDIF ()
782+ SET (CARES_PRIVATE_LIBS "${CARES_PRIVATE_LIBS} ${LIB} " )
781783 ENDFOREACH ()
782784
783785 CONFIGURE_FILE ("libcares.pc.cmake" "libcares.pc" @ONLY)
0 commit comments