cmThirdPartyChecks.cmake 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318
  1. # Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. # file Copyright.txt or https://cmake.org/licensing for details.
  3. # Hard-code third-party try_compile checks where we know the answer.
  4. # Results for builds targeting all supported platforms.
  5. set(HAVE_ASSERT_H 1)
  6. set(HAVE__CrtSetReportMode 0) # unused anyway
  7. set(HAVE_CTYPE_H 1)
  8. set(HAVE_LOCALE_H 1)
  9. set(HAVE_MEMMOVE 1)
  10. set(HAVE_SETLOCALE 1)
  11. set(HAVE_SNPRINTF 1)
  12. set(HAVE_STDDEF_H 1)
  13. set(HAVE_STDIO_H 1)
  14. set(HAVE_STDLIB_H 1)
  15. set(HAVE_STRCHR 1)
  16. set(HAVE_STRDUP 1)
  17. set(HAVE_STRFTIME 1)
  18. set(HAVE_STRING_H 1)
  19. set(HAVE_STRRCHR 1)
  20. set(HAVE_WCHAR_H 1)
  21. # Used by TEST_BIG_ENDIAN.
  22. set(CMAKE_SIZEOF_UNSIGNED_SHORT 2)
  23. set(HAVE_CMAKE_SIZEOF_UNSIGNED_SHORT 1)
  24. if(WIN32)
  25. # Results for builds targeting Windows platforms.
  26. # This covers both MSVC-ABI and GNU-ABI toolchains.
  27. set(HAVE_ALARM 0)
  28. set(HAVE_ARC4RANDOM 0)
  29. set(HAVE_ARC4RANDOM_BUF 0)
  30. set(HAVE_ARPA_TFTP_H 0)
  31. set(HAVE_BSWAP_16 0)
  32. set(HAVE_BSWAP_32 0)
  33. set(HAVE_BSWAP_64 0)
  34. set(HAVE_BUILTIN_AVAILABLE 0)
  35. set(HAVE_BYTESWAP_H 0)
  36. set(HAVE_CHFLAGS 0)
  37. set(HAVE_CHOWN 0)
  38. set(HAVE_CHROOT 0)
  39. set(HAVE_COPYFILE_H 0)
  40. set(HAVE_CRYPTO_H 0)
  41. set(HAVE__CTIME64_S 1)
  42. set(HAVE_CTIME_R 0)
  43. set(HAVE_CYGWIN_CONV_PATH 0)
  44. set(HAVE_DES_H 0)
  45. set(HAVE_DIRECT_H 1)
  46. set(HAVE_DIRFD 0)
  47. set(HAVE_DLFCN_H 0)
  48. set(HAVE_D_MD_ORDER 0)
  49. set(HAVE_EFTYPE 0)
  50. set(HAVE_EILSEQ 1)
  51. set(HAVE_ERR_H 0)
  52. set(HAVE_ERRNO_H 1)
  53. set(HAVE_EXT2FS_EXT2_FS_H 0)
  54. set(HAVE_FCHDIR 0)
  55. set(HAVE_FCHFLAGS 0)
  56. set(HAVE_FCHMOD 0)
  57. set(HAVE_FCHOWN 0)
  58. set(HAVE_FCNTL 0)
  59. set(HAVE_FCNTL_H 1)
  60. set(HAVE_FCNTL_O_NONBLOCK 0)
  61. set(HAVE_FDOPENDIR 0)
  62. set(HAVE_FORK 0)
  63. set(HAVE_FREEADDRINFO 1)
  64. set(HAVE_FREEIFADDRS 0)
  65. set(HAVE__FSEEKI64 1)
  66. set(HAVE_FSETXATTR 0)
  67. set(HAVE_FSTAT 1)
  68. set(HAVE_FSTATAT 0)
  69. set(HAVE_FSTATFS 0)
  70. set(HAVE_FSTATVFS 0)
  71. set(HAVE_FTRUNCATE 0)
  72. set(HAVE_FUTIMENS 0)
  73. set(HAVE_FUTIMES 0)
  74. set(HAVE_FUTIMESAT 0)
  75. set(HAVE_GETADDRINFO 1)
  76. set(HAVE_GETEUID 0)
  77. set(HAVE_GETGRGID_R 0)
  78. set(HAVE_GETGRNAM_R 0)
  79. set(HAVE_GETHOSTBYNAME 1)
  80. set(HAVE_GETPAGESIZE 0)
  81. set(HAVE_GETPEERNAME 1)
  82. set(HAVE_GETPID 1)
  83. set(HAVE_GETPPID 0)
  84. set(HAVE_GETPROTOBYNAME 1)
  85. set(HAVE_GETPWNAM_R 0)
  86. set(HAVE_GETPWUID_R 0)
  87. set(HAVE_GETRANDOM 0)
  88. set(HAVE_GETRLIMIT 0)
  89. set(HAVE_GETSOCKNAME 1)
  90. set(HAVE_GETVFSBYNAME 0)
  91. set(HAVE_GLIBC_STRERROR_R 0)
  92. set(HAVE__GMTIME64_S 1)
  93. set(HAVE_GMTIME_R 0)
  94. set(HAVE_GRP_H 0)
  95. set(HAVE_IDN2_H 0)
  96. set(HAVE_IFADDRS_H 0)
  97. set(HAVE_IF_NAMETOINDEX 0)
  98. set(HAVE_INET_NTOP 1)
  99. set(HAVE_INTTYPES_H 1)
  100. set(HAVE_IOCTL 0)
  101. set(HAVE_IOCTL_FIONBIO 0)
  102. set(HAVE_IOCTL_SIOCGIFADDR 0)
  103. set(HAVE_IOCTLSOCKET 1)
  104. set(HAVE_IOCTLSOCKET_CAMEL 0)
  105. set(HAVE_IOCTLSOCKET_CAMEL_FIONBIO 1)
  106. set(HAVE_IOCTLSOCKET_FIONBIO 1)
  107. set(HAVE_IO_H 1)
  108. set(HAVE_KRB_H 0)
  109. set(HAVE_LANGINFO_H 0)
  110. set(HAVE_LCHFLAGS 0)
  111. set(HAVE_LCHMOD 0)
  112. set(HAVE_LCHOWN 0)
  113. set(HAVE_LIBIDN2 0)
  114. set(HAVE_LIBNETWORK 0)
  115. set(HAVE_LIBWINMM 1)
  116. set(HAVE_LIBWS2_32 1)
  117. set(HAVE_LIMITS_H 1)
  118. set(HAVE_LINK 0)
  119. set(HAVE_LINKAT 0)
  120. set(HAVE_LINUX_FIEMAP_H 0)
  121. set(HAVE_LINUX_FS_H 0)
  122. set(HAVE_LINUX_MAGIC_H 0)
  123. set(HAVE_LINUX_TYPES_H 0)
  124. set(HAVE__LOCALTIME64_S 1)
  125. set(HAVE_LOCALTIME_R 0)
  126. set(HAVE_LSTAT 0)
  127. set(HAVE_LUTIMES 0)
  128. set(HAVE_MACH_ABSOLUTE_TIME 0)
  129. set(HAVE_MBRTOWC 1)
  130. set(HAVE_MEMBERSHIP_H 0)
  131. set(HAVE_MEMORY_H 1)
  132. set(HAVE_MKDIR 1)
  133. set(HAVE_MKFIFO 0)
  134. set(HAVE__MKGMTIME64 1)
  135. set(HAVE_MKNOD 0)
  136. set(HAVE_MMAP 0)
  137. set(HAVE_MSG_NOSIGNAL 0)
  138. set(HAVE_NETINET_TCP_H 0)
  139. set(HAVE_NL_LANGINFO 0)
  140. set(HAVE_OPENAT 0)
  141. set(HAVE_PATHS_H 0)
  142. set(HAVE_PEM_H 0)
  143. set(HAVE_PIPE 0)
  144. set(HAVE_POLL 0)
  145. set(HAVE_POLL_FINE 0)
  146. set(HAVE_POLL_H 0)
  147. set(HAVE_POSIX_SPAWNP 0)
  148. set(HAVE_POSIX_STRERROR_R 0)
  149. set(HAVE_PROCESS_H 1)
  150. set(HAVE_PWD_H 0)
  151. set(HAVE_READDIR_R 0)
  152. set(HAVE_READLINK 0)
  153. set(HAVE_READLINKAT 0)
  154. set(HAVE_READPASSPHRASE 0)
  155. set(HAVE_READPASSPHRASE_H 0)
  156. set(HAVE_REGEX_H 0)
  157. set(HAVE_RSA_H 0)
  158. set(HAVE_SELECT 0)
  159. set(HAVE_SENDMSG 0)
  160. set(HAVE_SETENV 0)
  161. set(HAVE_SETMODE 1)
  162. set(HAVE_SETRLIMIT 0)
  163. set(HAVE_SETSOCKOPT 1)
  164. set(HAVE_SETSOCKOPT_SO_NONBLOCK 0)
  165. set(HAVE_SIGACTION 0)
  166. set(HAVE_SIG_ATOMIC_T_NOT_VOLATILE 1)
  167. set(HAVE_SIGINTERRUPT 0)
  168. set(HAVE_SIGNAL_H 1)
  169. set(HAVE_SIZEOF_ADDRESS_FAMILY 0)
  170. set(HAVE_SIZEOF_SA_FAMILY_T 0)
  171. set(HAVE_SOCKETPAIR 0)
  172. set(HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID 0)
  173. set(HAVE_SPAWN_H 0)
  174. set(HAVE_SSL_H 0)
  175. set(HAVE_STATFS 0)
  176. set(HAVE_STATVFS 0)
  177. set(HAVE_STDARG_H 1)
  178. set(HAVE_STDBOOL_H 1)
  179. set(HAVE_STDINT_H 1)
  180. set(HAVE_STRERROR 1)
  181. set(HAVE_STRERROR_R 0)
  182. set(HAVE_STRNCMPI 0)
  183. set(HAVE_STRNCPY_S 1)
  184. set(HAVE_STRNLEN 1)
  185. set(HAVE_STROPTS_H 0)
  186. set(HAVE__STRTOI64 1)
  187. set(HAVE_STRTOLL 1)
  188. set(HAVE_STRUCT_STATFS 0)
  189. set(HAVE_STRUCT_STATFS_F_NAMEMAX 0)
  190. set(HAVE_STRUCT_STAT_ST_BIRTHTIME 0)
  191. set(HAVE_STRUCT_STAT_ST_BIRTHTIMESPEC_TV_NSEC 0)
  192. set(HAVE_STRUCT_STAT_ST_BLKSIZE 0)
  193. set(HAVE_STRUCT_STAT_ST_FLAGS 0)
  194. set(HAVE_STRUCT_STAT_ST_MTIME_N 0)
  195. set(HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC 0)
  196. set(HAVE_STRUCT_STAT_ST_MTIME_USEC 0)
  197. set(HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC 0)
  198. set(HAVE_STRUCT_STAT_ST_UMTIME 0)
  199. set(HAVE_STRUCT_TIMEVAL 1)
  200. set(HAVE_STRUCT_TM___TM_GMTOFF 0)
  201. set(HAVE_STRUCT_TM_TM_GMTOFF 0)
  202. set(HAVE_STRUCT_VFSCONF 0)
  203. set(HAVE_STRUCT_XVFSCONF 0)
  204. set(HAVE_SYMLINK 0)
  205. set(HAVE_SYS_ACL_H 0)
  206. set(HAVE_SYSCALL_GETRANDOM 0)
  207. set(HAVE_SYS_EXTATTR_H 0)
  208. set(HAVE_SYS_FILIO_H 0)
  209. set(HAVE_SYS_IOCTL_H 0)
  210. set(HAVE_SYS_MKDEV_H 0)
  211. set(HAVE_SYS_MOUNT_H 0)
  212. set(HAVE_SYS_POLL_H 0)
  213. set(HAVE_SYS_RESOURCE_H 0)
  214. set(HAVE_SYS_RICHACL_H 0)
  215. set(HAVE_SYS_SELECT_H 0)
  216. set(HAVE_SYS_STATFS_H 0)
  217. set(HAVE_SYS_STAT_H 1)
  218. set(HAVE_SYS_STATVFS_H 0)
  219. set(HAVE_SYS_SYSCTL_H 0)
  220. set(HAVE_SYS_SYSMACROS_H 0)
  221. set(HAVE_SYS_UIO_H 0)
  222. set(HAVE_SYS_UN_H 0)
  223. set(HAVE_SYS_UTSNAME_H 0)
  224. set(HAVE_SYS_VFS_H 0)
  225. set(HAVE_SYS_WAIT_H 0)
  226. set(HAVE_SYS_XATTR_H 0)
  227. set(HAVE_TIMEGM 0)
  228. set(HAVE_TZSET 1)
  229. set(HAVE_UNLINKAT 0)
  230. set(HAVE_USLEEP 0)
  231. set(HAVE_UTIMENSAT 0)
  232. set(HAVE_UTIMES 0)
  233. set(HAVE_VFORK 0)
  234. set(HAVE_WORKING_EXT2_IOC_GETFLAGS 0)
  235. set(HAVE_WORKING_FS_IOC_GETFLAGS 0)
  236. set(HAVE_SIZEOF_CURL_SOCKET_T 1)
  237. set(SIZEOF_CURL_SOCKET_T 8)
  238. if(NOT MINGW)
  239. set(HAVE_STRTOK_R 0)
  240. endif()
  241. # Some POSIX headers are available on Windows.
  242. set(HAVE_SYS_TYPES_H 1)
  243. set(HAVE_SYS_UTIME_H 1)
  244. set(HAVE_TIME_H 1)
  245. set(HAVE_UTIME 1)
  246. # Wide character APIs are available on Windows.
  247. set(HAVE_WCRTOMB 1)
  248. set(HAVE_WCSCMP 1)
  249. set(HAVE_WCSCPY 1)
  250. set(HAVE_WCSLEN 1)
  251. set(HAVE_WCTOMB 1)
  252. set(HAVE_WCTYPE_H 1)
  253. # Windows APIs are available on Windows.
  254. set(HAVE_WINCRYPT_H 1)
  255. set(HAVE_WINDOWS_H 1)
  256. set(HAVE_WINIOCTL_H 1)
  257. set(HAVE_WINSOCK2_H 1)
  258. set(HAVE_WINSOCK_H 1)
  259. set(HAVE_WS2TCPIP_H 1)
  260. set(USE_WINCRYPT 1) # We do not need to build as a Windows App.
  261. # UNIX integer id types do not exist on Windows.
  262. set(HAVE_ID_T 0)
  263. set(HAVE_GID_T 0)
  264. set(HAVE_UID_T 0)
  265. set(ID_T "")
  266. set(GID_T "")
  267. set(UID_T "")
  268. # curl and expat: stdlib.h, stdarg.h, string.h, float.h
  269. set(STDC_HEADERS 1)
  270. # UNIX device APIs do not exist on Windows.
  271. set(MAJOR_IN_MKDEV 0)
  272. set(MAJOR_IN_SYSMACROS 0)
  273. # FreeBSD libmd does not exist on Windows.
  274. set(LIBMD_FOUND 0)
  275. # libarchive looks for external hash implementations.
  276. set(ARCHIVE_CRYPTO_MD5_LIBC 0)
  277. set(ARCHIVE_CRYPTO_MD5_LIBMD 0)
  278. set(ARCHIVE_CRYPTO_MD5_LIBSYSTEM 0)
  279. set(ARCHIVE_CRYPTO_MD5_WIN 1)
  280. set(ARCHIVE_CRYPTO_RMD160_LIBC 0)
  281. set(ARCHIVE_CRYPTO_RMD160_LIBMD 0)
  282. set(ARCHIVE_CRYPTO_SHA1_LIBC 0)
  283. set(ARCHIVE_CRYPTO_SHA1_LIBMD 0)
  284. set(ARCHIVE_CRYPTO_SHA1_LIBSYSTEM 0)
  285. set(ARCHIVE_CRYPTO_SHA1_WIN 1)
  286. set(ARCHIVE_CRYPTO_SHA256_LIBC 0)
  287. set(ARCHIVE_CRYPTO_SHA256_LIBC2 0)
  288. set(ARCHIVE_CRYPTO_SHA256_LIBC3 0)
  289. set(ARCHIVE_CRYPTO_SHA256_LIBMD 0)
  290. set(ARCHIVE_CRYPTO_SHA256_LIBSYSTEM 0)
  291. set(ARCHIVE_CRYPTO_SHA256_WIN 0)
  292. set(ARCHIVE_CRYPTO_SHA384_LIBC 0)
  293. set(ARCHIVE_CRYPTO_SHA384_LIBC2 0)
  294. set(ARCHIVE_CRYPTO_SHA384_LIBC3 0)
  295. set(ARCHIVE_CRYPTO_SHA384_LIBSYSTEM 0)
  296. set(ARCHIVE_CRYPTO_SHA384_WIN 0)
  297. set(ARCHIVE_CRYPTO_SHA512_LIBC 0)
  298. set(ARCHIVE_CRYPTO_SHA512_LIBC2 0)
  299. set(ARCHIVE_CRYPTO_SHA512_LIBC3 0)
  300. set(ARCHIVE_CRYPTO_SHA512_LIBMD 0)
  301. set(ARCHIVE_CRYPTO_SHA512_LIBSYSTEM 0)
  302. set(ARCHIVE_CRYPTO_SHA512_WIN 0)
  303. endif()