@@ -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.6 " )
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:5 :19" )
3434
3535
3636OPTION (CARES_STATIC "Build as a static library" OFF )
@@ -45,15 +45,6 @@ OPTION (CARES_THREADS "Build with thread-safety support"
4545OPTION (CARES_COVERAGE "Build for code coverage" OFF )
4646SET (CARES_RANDOM_FILE "/dev/urandom" CACHE STRING "Suitable File / Device Path for entropy, such as /dev/urandom" )
4747
48-
49- # Tests require a C++14 compiler
50- IF (CARES_BUILD_TESTS OR CARES_BUILD_CONTAINER_TESTS)
51- set (CMAKE_CXX_STANDARD 14)
52- set (CMAKE_CXX_STANDARD_REQUIRED TRUE )
53- set (CMAKE_CXX_EXTENSIONS FALSE )
54- enable_language (CXX )
55- ENDIF ()
56-
5748# Tests require static to be enabled on Windows to be able to access otherwise hidden symbols
5849IF ((CARES_BUILD_TESTS OR CARES_BUILD_CONTAINER_TESTS) AND (NOT CARES_STATIC) AND WIN32 )
5950 SET (CARES_STATIC ON )
@@ -269,17 +260,19 @@ ELSEIF (CMAKE_SYSTEM_NAME STREQUAL "SunOS")
269260 LIST (APPEND SYSFLAGS -D__EXTENSIONS__ -D_REENTRANT -D_XOPEN_SOURCE=600)
270261ELSEIF (CMAKE_SYSTEM_NAME STREQUAL "AIX" )
271262 LIST (APPEND SYSFLAGS -D_ALL_SOURCE -D_XOPEN_SOURCE=700 -D_USE_IRS)
272- ELSEIF (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" )
263+ ELSEIF (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "MidnightBSD" )
273264 # Don't define _XOPEN_SOURCE on FreeBSD, it actually reduces visibility instead of increasing it
274265ELSEIF (CMAKE_SYSTEM_NAME STREQUAL "QNX" )
275266 LIST (APPEND SYSFLAGS -D_QNX_SOURCE)
276267ELSEIF (WIN32 )
277- LIST (APPEND SYSFLAGS -DWIN32_LEAN_AND_MEAN -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -D_WIN32_WINNT=0x0602)
268+ LIST (APPEND SYSFLAGS -DWIN32_LEAN_AND_MEAN -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE)
269+ IF (NOT CMAKE_C_FLAGS MATCHES ".*-D_WIN32_WINNT=.*" )
270+ LIST (APPEND SYSFLAGS -D_WIN32_WINNT=0x0602)
271+ ENDIF ()
278272ENDIF ()
279273ADD_DEFINITIONS (${SYSFLAGS} )
280274
281275
282-
283276# Tell C-Ares about libraries to depend on
284277IF (HAVE_LIBRESOLV)
285278 LIST (APPEND CARES_DEPENDENT_LIBS resolv)
@@ -426,6 +419,7 @@ CHECK_SYMBOL_EXISTS (getservbyname_r "${CMAKE_EXTRA_INCLUDE_FILES}" HAVE_GETSERV
426419CHECK_SYMBOL_EXISTS (gettimeofday "${CMAKE_EXTRA_INCLUDE_FILES} " HAVE_GETTIMEOFDAY )
427420CHECK_SYMBOL_EXISTS (if_indextoname "${CMAKE_EXTRA_INCLUDE_FILES} " HAVE_IF_INDEXTONAME )
428421CHECK_SYMBOL_EXISTS (if_nametoindex "${CMAKE_EXTRA_INCLUDE_FILES} " HAVE_IF_NAMETOINDEX )
422+ CHECK_SYMBOL_EXISTS (GetBestRoute2 "${CMAKE_EXTRA_INCLUDE_FILES} " HAVE_GETBESTROUTE2 )
429423CHECK_SYMBOL_EXISTS (ConvertInterfaceIndexToLuid "${CMAKE_EXTRA_INCLUDE_FILES} " HAVE_CONVERTINTERFACEINDEXTOLUID )
430424CHECK_SYMBOL_EXISTS (ConvertInterfaceLuidToNameA "${CMAKE_EXTRA_INCLUDE_FILES} " HAVE_CONVERTINTERFACELUIDTONAMEA )
431425CHECK_SYMBOL_EXISTS (NotifyIpInterfaceChange "${CMAKE_EXTRA_INCLUDE_FILES} " HAVE_NOTIFYIPINTERFACECHANGE )
@@ -503,11 +497,7 @@ IF (CARES_THREADS)
503497 CARES_EXTRAINCLUDE_IFSET (HAVE_PTHREAD_H pthread.h )
504498 CARES_EXTRAINCLUDE_IFSET (HAVE_PTHREAD_NP_H pthread_np.h )
505499 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} )
500+ LIST (APPEND CARES_DEPENDENT_LIBS ${CMAKE_THREAD_LIBS_INIT} )
511501 ELSE ()
512502 MESSAGE (WARNING "Threading support not found, disabling..." )
513503 SET (CARES_THREADS OFF )
@@ -631,6 +621,7 @@ IF (HAVE_GETADDRINFO)
631621 CMAKE_SYSTEM_NAME STREQUAL "NetBSD" OR
632622 CMAKE_SYSTEM_NAME STREQUAL "SunOS" OR
633623 CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" OR
624+ CMAKE_SYSTEM_NAME STREQUAL "MidnightBSD" OR
634625 CMAKE_SYSTEM_NAME STREQUAL "AIX" OR
635626 WIN32 )
636627 SET (HAVE_GETADDRINFO_THREADSAFE 1)
@@ -777,7 +768,10 @@ IF (CARES_INSTALL)
777768
778769 # pkgconfig support for static builds
779770 FOREACH (LIB ${CARES_DEPENDENT_LIBS} )
780- SET (CARES_PRIVATE_LIBS "${CARES_PRIVATE_LIBS} -l${LIB} " )
771+ IF (NOT LIB MATCHES "^-" )
772+ SET (LIB "-l${LIB} " )
773+ ENDIF ()
774+ SET (CARES_PRIVATE_LIBS "${CARES_PRIVATE_LIBS} ${LIB} " )
781775 ENDFOREACH ()
782776
783777 CONFIGURE_FILE ("libcares.pc.cmake" "libcares.pc" @ONLY )
0 commit comments