Warning, /frameworks/kdelibs4support/src/ConfigureChecks.cmake is written in an unsupported language. File is not indexed.
0001 ####### checks for kdecore/network (and netsupp.cpp) ############### 0002 include(CheckIncludeFiles) 0003 include(CheckFunctionExists) 0004 # TODO: check whether CheckPrototypeExists.cmake is actually necessary or whether something else can be used. Alex 0005 include(${CMAKE_CURRENT_SOURCE_DIR}/../cmake/modules/CheckPrototypeExists.cmake) 0006 include(CheckCXXSymbolExists) 0007 include(CheckTypeSize) 0008 include(CheckStructHasMember) 0009 include(CheckCXXSourceRuns) 0010 include(CMakePushCheckState) 0011 0012 set( KDELIBSUFF ${LIB_SUFFIX} ) 0013 0014 set(CMAKE_REQUIRED_LIBRARIES Qt5::Network) 0015 check_cxx_source_compiles( 0016 "#include <QtNetwork/QSslSocket> 0017 int main() 0018 { 0019 QSslSocket *socket; 0020 return 0; 0021 }" HAVE_QSSLSOCKET) 0022 0023 if (NOT HAVE_QSSLSOCKET) 0024 message(FATAL_ERROR "KDE Requires Qt to be built with SSL support") 0025 endif (NOT HAVE_QSSLSOCKET) 0026 0027 set(CMAKE_REQUIRED_LIBRARIES "") 0028 0029 check_include_files("sys/types.h;sys/socket.h;net/if.h" HAVE_NET_IF_H) 0030 check_include_files("sys/filio.h" HAVE_SYS_FILIO_H) 0031 check_include_files(stropts.h HAVE_STROPTS_H) 0032 check_include_files(paths.h HAVE_PATHS_H) 0033 check_include_files(sys/stat.h HAVE_SYS_STAT_H) 0034 check_include_files(sys/time.h HAVE_SYS_TIME_H) 0035 check_include_files(sys/filio.h HAVE_SYS_FILIO_H) 0036 check_include_file( "stropts.h" HAVE_STROPTS_H ) 0037 check_include_files(limits.h HAVE_LIMITS_H) # for kcmdlineargs 0038 check_include_files(unistd.h HAVE_UNISTD_H) 0039 0040 # This is broken on OSX 10.6 (succeeds but shouldn't do) and doesn't exist 0041 # on previous versions so don't do the check on APPLE. 0042 if(NOT APPLE) 0043 check_function_exists(fdatasync HAVE_FDATASYNC) # kdecore, kate 0044 endif(NOT APPLE) 0045 0046 check_function_exists(inet_pton HAVE_INET_PTON) 0047 check_function_exists(inet_ntop HAVE_INET_NTOP) 0048 check_function_exists(getprotobyname_r HAVE_GETPROTOBYNAME_R) 0049 check_function_exists(poll HAVE_POLL) 0050 check_function_exists(getservbyname_r HAVE_GETSERVBYNAME_R) 0051 check_function_exists(getservbyport_r HAVE_GETSERVBYPORT_R) 0052 check_function_exists(gethostbyname2 HAVE_GETHOSTBYNAME2) 0053 check_function_exists(gethostbyname2_r HAVE_GETHOSTBYNAME2_R) 0054 check_function_exists(gethostbyname HAVE_GETHOSTBYNAME) 0055 check_function_exists(gethostbyname_r HAVE_GETHOSTBYNAME_R) 0056 check_function_exists(if_nametoindex HAVE_IF_NAMETOINDEX) 0057 0058 check_prototype_exists(getservbyname_r netdb.h HAVE_GETSERVBYNAME_R_PROTO) 0059 0060 check_cxx_symbol_exists(posix_madvise "sys/mman.h" HAVE_MADVISE) 0061 0062 check_cxx_symbol_exists(getnameinfo "sys/types.h;sys/socket.h;netdb.h" HAVE_GETNAMEINFO) 0063 check_cxx_symbol_exists(getaddrinfo "sys/types.h;sys/socket.h;netdb.h" HAVE_GETADDRINFO) 0064 0065 check_cxx_symbol_exists(res_init "sys/types.h;netinet/in.h;arpa/nameser.h;resolv.h" HAVE_RES_INIT) 0066 # redundant? check_function_exists(res_init HAVE_RES_INIT) 0067 0068 0069 # check if gai_strerror exists even if EAI_ADDRFAMILY is not defined 0070 set(CMAKE_EXTRA_INCLUDE_FILES "sys/socket.h;netdb.h") 0071 check_prototype_exists(gai_strerror netdb.h HAVE_GAI_STRERROR_PROTO) 0072 0073 # check for existing datatypes 0074 if(WIN32) 0075 set(CMAKE_EXTRA_INCLUDE_FILES "ws2tcpip.h") 0076 else() 0077 set(CMAKE_EXTRA_INCLUDE_FILES "sys/socket.h;netdb.h") 0078 endif() 0079 check_type_size("struct addrinfo" HAVE_STRUCT_ADDRINFO) 0080 set(CMAKE_EXTRA_INCLUDE_FILES "sys/socket.h;netdb.h") 0081 check_type_size("struct sockaddr_in6" HAVE_STRUCT_SOCKADDR_IN6) 0082 set(CMAKE_EXTRA_INCLUDE_FILES) #reset CMAKE_EXTRA_INCLUDE_FILES 0083 0084 check_struct_has_member("struct sockaddr" sa_len "sys/types.h;sys/socket.h" HAVE_STRUCT_SOCKADDR_SA_LEN LANGUAGE CXX) 0085 check_struct_has_member(dirent d_type dirent.h HAVE_DIRENT_D_TYPE LANGUAGE CXX) 0086 check_prototype_exists(res_init "sys/types.h;netinet/in.h;arpa/nameser.h;resolv.h" HAVE_RES_INIT_PROTO) 0087 0088 check_cxx_source_runs(" 0089 #include <sys/types.h> 0090 #include <sys/socket.h> 0091 #include <netdb.h> 0092 #include <string.h> 0093 int main() 0094 { 0095 struct addrinfo hint, *res; 0096 int err; 0097 memset(&hint, 0, sizeof(hint)); 0098 hint.ai_family = AF_INET; 0099 hint.ai_protocol = 0; 0100 hint.ai_socktype = SOCK_STREAM; 0101 hint.ai_flags = AI_PASSIVE; 0102 err = getaddrinfo(0, \"18300\", &hint, &res); 0103 if (err != 0 || res == 0 || res->ai_family != AF_INET) 0104 return 1; 0105 return 0; 0106 }" 0107 HAVE_GOOD_GETADDRINFO 0108 ) 0109 0110 if( NOT HAVE_GOOD_GETADDRINFO ) 0111 set( HAVE_BROKEN_GETADDRINFO 1 ) 0112 endif( NOT HAVE_GOOD_GETADDRINFO )