Because -pthread doesn't begin with -l, it doesn't show up in the
pkgconfig LIBRARIES variable, causing FindOpenSSL to not add the
Threads::Threads dependency. Explicitly search LDFLAGS_EXTRA
for -pthread and add the dependency if it's found.
Fixes: #24532
Move the permissions modification added by commit 88fed668b1 (Make
bundle items writable before fixup, 2010-09-07, v2.8.3~129^2) inside the
condition added by commit 45ed314bff (BundleUtilities: do not run
install_name_tool on scripts, 2020-07-27, v3.19.0-rc1~404^2).
There is no reason to add write permissions to a file that we are
not going to modify.
Fixes: #24424
Since commit 1b7804edd0 (FindOpenSSL: use extra dependencies from
pkg-config as well, 2022-12-05, v3.26.0-rc1~227^2) we conditionally find
Threads but unconditionally depend on it. Make the conditions
consistent.
Fixes: #24505
In commit 8527f42b96 (Xcode: Explicitly disable deprecated user include
path feature, 2023-01-31, v3.26.0-rc1~7^2) we dropped the Xcode build
setting `USE_HEADERMAP = NO` because Xcode 14's "Build Documentation"
feature (`xcodebuild RUN_DOCUMENTATION_COMPILER=YES`) fails in some
cases without header maps. However, enabling header maps causes Xcode
to add `-iquote .../foo.hmap` and `-I .../bar.hmap` flags that can
change the intended header file search order based on the contents of
the header maps. This can break existing projects. Restore the
`USE_HEADERMAP = NO` setting to fix the header file search order.
Further investigation will be needed to resolve the problematic cases
with the Xcode 14 "Build Documentation" feature. Meanwhile projects
encountering such cases can set the `XCODE_ATTRIBUTE_USE_HEADERMAP`
target property to `YES` themselves.
Fixes: #24418
Issue: #24379
CMake 3.25 updated to curl 7.86, which had some `no_proxy` regressions.
Backport upstream curl fixes:
* commit `b830f9ba9` (noproxy: fix tail-matching)
* commit `b1953c193` (noproxy: tailmatch like in 7.85.0 and earlier)
* commit `60453483b` (noproxy: guard against empty hostnames)
CMake 3.26 already updated to curl 7.87, and has the fixes.
Fixes: #24426
In commit 66c9536775 (nghttp2: Update script to get nghttp2 1.50.0,
2022-10-31, v3.26.0-rc1~455^2~2) we forgot to update the `nghttp2ver.h`
replacements to provide the proper `NGHTTP2_VERSION_NUM`. This causes
our build of curl to think it is using a different version of nghttp2
than we provide. Fix the version and add a reminder comment.
Issue: #24419
LLVM Flang's preprocessor output is always valid fixed form Fortran with
a fixed line length of 72. If an application tries to use fixed form
with a different line length, this will fail in the
post-preprocessing compilation step as they will pass a flag asking for
a different fixed line length.
To fix this we can pass -ffixed-line-length-72 to the post-preprocess
compilation stage. This will be ignored when the input is free form
Fortran, and force to a 72 line length when the input is fixed.
Occasionally curl updates introduce errors in https verification.
Add an explicit test for this capability, activated by an undocumented
option that we can use in CI to specify a URL to test.
Co-authored-by: Brad King <brad.king@kitware.com>
Fixes: #24405
Issue: #24147
Issue: #24398
Rather than stating specifically which files may be written or deleted,
simply state that CMake owns the directory and that a dedicated
directory should be used for exporting the fixes.