1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-05-09 14:57:08 +08:00

226 Commits

Author SHA1 Message Date
Brad King
548f0cfd1d Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2023-12-06 (7161cb17)
2023-12-11 20:33:07 -05:00
Brad King
8a9fa27a35 curl: Set build options the way we need for CMake
Set options added by the update to curl 8.4.0.
2023-10-12 15:29:34 -04:00
Brad King
df4efb72e4 Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2023-10-11 (d755a5f7)

Issue: #25329
2023-10-12 15:29:20 -04:00
Brad King
e3572c110a curl: Set build options the way we need for CMake
Also restore commit a8d91e2719 (curl: Precompile common expensive
headers, 2023-06-16) with new curl library target.
2023-09-22 11:18:50 -04:00
Brad King
c1f76e6c21 Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2023-09-13 (6fa1d817)

Upstream significantly refactored `lib/CMakeLists.txt`, so take the
upstream version of everything except the code added by commit
54cb23c657 (curl: Restore installation of OpenSSL DLLs, 2014-11-03,
v3.2.0-rc1~418^2~4).  We will apply our customizations again in a
follow-up commit.
2023-09-22 10:55:37 -04:00
Brad King
21b668afc2 Utilities: Drop unused hard-coded try_compile result
The `HAVE_WINSOCK_H` check was removed by curl 7.81.
2023-09-20 13:08:10 -04:00
Brad King
1bc0252850 curl: Enable HTTP Strict-Transport-Security (HSTS) for build in CMake
Upstream curl enabled this by default starting in curl 7.77.  We merged
that version of curl in commit cd40922edb (Merge branch 'upstream-curl'
into update-curl, 2021-05-27, v3.21.0-rc1~120^2~2) but accidentally
switched HSTS off in the build system.  Enable it now.
2023-09-13 10:29:42 -04:00
Brad King
4eff1f4ac2 curl: Remove curlu library not needed for building within CMake 2023-08-01 14:03:26 -04:00
Brad King
188c065e5a Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2023-07-26 (50490c06)
2023-08-01 13:58:24 -04:00
Clemens Wasser
a8d91e2719 curl: Precompile common expensive headers 2023-06-22 18:11:45 +02:00
Brad King
a6c9b53273 Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2023-05-30 (7ab9d437)
2023-05-30 09:39:43 -04:00
Brad King
e090f348d3 curl: Avoid redundant getenv calls in curltest
Also avoid using the result without checking for NULL.
2023-05-22 16:51:15 -04:00
Brad King
eca41c0243 curl: Restore build within CMake after update to 8.0.1
Restore changes from commit 2be5a7de4e (Build: Use imported target
`ZLIB::ZLIB` instead of variables, 2022-08-21, v3.25.0-rc1~97^2~10)
that were undone by the update to curl 8.0.1.  The code was moved.
2023-03-20 16:42:25 -04:00
Brad King
e3dc4df9b9 Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2023-03-20 (b16d1fa8)
2023-03-20 16:40:49 -04:00
Brad King
ce1550f178 Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2023-02-20 (046209e5)
2023-02-21 10:04:36 -05:00
Brad King
0d312728eb curl: Backport upstream fix for SecureTransport on macOS
Backport upstream curl commit `16bb32e104d` (sectransp: fix for
incomplete read/writes, 2023-01-05) to fix TLS support on macOS.

Fixes: #24398
2023-02-09 16:54:25 -05:00
Brad King
8675d8bdb0 curl: Enable schannel TLS 1.3 support on Windows 11
Revert commit c0a4536cec (curl: Disable schannel TLS 1.3 support on
Windows 11, 2022-11-09, v3.25.0~13^2).  The curl bug it avoided was
fixed by upstream curl commit `4f42150d0` (sendf: change Curl_read_plain
to wrap Curl_recv_plain , 2022-11-14, curl-7_87_0~129), which we have
since recently updating to curl 7.87.0.

Issue: #24147
2023-02-08 14:55:24 -05:00
Brad King
8443dfa946 curl: Work around missing OpenSSL symbol on machine with LCC 1.23
On a nightly build using LCC 1.23, OpenSSL 2.0.0 is found but does
not seem to have the `X509_STORE_up_ref` symbol used by curl 7.87.
Pending further investigation, disable use of the symbol based on
the compiler version.
2023-01-30 08:22:02 -05:00
Brad King
f9f5957884 Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2022-12-21 (c12fb3dd)
2023-01-27 15:58:44 -05:00
Brad King
c0a4536cec curl: Disable schannel TLS 1.3 support on Windows 11
Curl 7.85.0 introduced support for TLS 1.3 support with schannel.
We've observed connection failures in some cases, so disable the
support pending further investigation.

Fixes: #24147
2022-11-09 17:05:39 -05:00
Brad King
25e9f31878 curl: Set build options the way we need for CMake 2022-10-31 16:12:43 -04:00
Brad King
9ffe6b0969 Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2022-10-26 (cd95ee9f)
2022-10-31 16:11:41 -04:00
Alex Turbov
2be5a7de4e Build: Use imported target ZLIB::ZLIB instead of variables 2022-09-22 10:20:30 -04:00
Dubach, Joev
9dbcfb8fdd MSVC: Recognize -XYZ as well as /XYZ when parsing MS tool command lines
Fixes: #23772
2022-07-27 16:51:15 -04:00
makise-homura
de16db0f64 curl: make libcmcurl buildable with old LibreSSL
LibreSSL older than 2.6.0 is not supported correctly
in upstream curl, and as a consequence, in libcmcurl.
Such LibreSSL versions can be used in old distros,
like OS Elbrus 4.x and 5.x, so until this fix, CMake
wasn't buildable there either.
2022-06-28 11:12:04 -04:00
Brad King
c7c3e39e4f Utilities: Activate POSIX APIs even without compiler extensions
Compile some third-party libraries with preprocessor definitions that
activate POSIX APIs even when compiler extensions are not enabled.
We already do this in libuv, inherited from the upstream buildsystem.

This extends commit f034b0f663 (CMake compilation: do not use compiler
extensions, 2020-03-14, v3.18.0-rc1~494^2).

Issue: #20454
2022-06-04 09:08:27 -04:00
Brad King
71747a28ea Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2022-05-11 (462196e6)
2022-05-16 11:43:51 -04:00
Brad King
30aba1ce8c Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2022-04-27 (1669b17d)
2022-04-28 15:21:23 -04:00
Aaron Liu
24da80b70a Utilities: Suppress warnings in third-party code with IBMClang 2022-01-27 09:38:01 -05:00
Brad King
9341e63233 curl: Set build options the way we need for CMake 2022-01-07 11:42:30 -05:00
Brad King
697e8871a1 Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2022-01-05 (801bd513)
2022-01-07 11:41:57 -05:00
makise-homura
e5d9fce03f LCC: Add dedicated support for MCST LCC compiler
Divert LCC compiler as a new one, instead of treating it as GNU.

Since old times, Elbrus C/C++/Fortran Compiler (LCC) by MCST has been
passing checks for GNU compilers, so it has been identified as GNU.
Now, with intent of seriously upstreaming its support, it has been
added as a separate LCC compiler, and its version displays not a
supported GCC version, but LCC version itself (e.g. LCC 1.25.19 instead
of GNU 7.3.0).

This commit adds its support for detection, and also converts basically
every check like 'is this compiler GNU?' to 'is this compiler GNU or
LCC?'. The only places where this check is untouched, is where it
regards other platforms where LCC is unavailable (primarily non-Linux),
and where it REALLY differs from GNU compiler.

Note: this transition may break software that are already ported to
Elbrus, but hardly relies that LCC will be detected as GNU; still such
software is not known.
2021-10-15 05:05:19 +03:00
Brad King
5b117bddd0 Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2021-09-22 (c7aef0a9)
2021-09-24 10:04:49 -04:00
Brad King
412189bce7 curl: Set build options the way we need for CMake 2021-09-15 15:28:53 -04:00
Brad King
8ecd95845c Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2021-09-14 (8e82f2a0)
2021-09-15 15:28:38 -04:00
Brad King
3faa3d3a38 curl: backport upstream fix to 7.77.0 regression
Backport upstream curl commit `ee97f1769` (schannel: set ALPN length
correctly for HTTP/2, 2021-05-26) to get a fix to curl issue 7138,
a regression in 7.77.0.

Fixes: #22355
2021-06-28 12:59:23 -04:00
Brad King
cd40922edb Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2021-05-26 (6b951a69)
2021-05-27 15:23:20 -04:00
Brad King
408e6d6185 Utilities: Suppress warnings in third-party code with NVHPC 2021-04-20 11:44:25 -04:00
Brad King
24f3388fa4 curl: Set build options the way we need for CMake 2021-02-03 11:58:10 -05:00
Brad King
426ef61cc8 Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2021-02-03 (2f33be81)
2021-02-03 11:55:06 -05:00
Brad King
87909f0600 Utilities: Suppress warnings in third-party code when using IntelLLVM 2021-01-28 09:07:00 -05:00
Brad King
d0bac89cea curl: Set build options the way we need for CMake 2020-12-11 08:39:40 -05:00
Brad King
54931fdff0 Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2020-12-09 (e0528597)
2020-12-09 11:45:25 -05:00
Brad King
387ea71853 curl: Set build options the way we need for CMake 2020-08-19 13:07:30 -04:00
Brad King
7d0fa4a943 Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2020-08-19 (9d954e49)
2020-08-19 12:50:05 -04:00
Brad King
6d423195d5 Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2020-06-30 (5a1fc8d3)
2020-07-01 10:10:23 -04:00
Brad King
e5ff413f41 curl: Set build options the way we need for CMake 2020-06-24 08:23:52 -04:00
Brad King
0ef8fa5000 Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2020-06-23 (e9db32a0)
2020-06-24 08:13:02 -04:00
Brad King
1dd785b02c curl: Use KWIML to get integer type sizes 2020-06-02 07:00:35 -04:00
Brad King
0a46eb11af curl: Avoid checking 'send' and 'recv' signatures
cURL detects the `send` and `recv` signatures using a large loop
of `try_compile` checks.  The results are used for the following:

* Casting argument types in calls to `send` and `recv`, perhaps
  to avoid conversion warnings.  We compile with `-w` anyway.

* Providing debug variants for `CURLDEBUG`, which we do not use.

Replace the detection loops with hard-coded results that should work
well enough everywhere.  This significantly reduces the number of
configure-time checks for building CMake on some platforms.
2020-05-20 15:17:26 -04:00