103dbb2fd2 FindMatlab: Windows -wait is only for -r, not -batch
1932ae0284 FindMatlab: refactor: use string(APPEND
c4cacdc7eb FindMatlab: use modern foreach()
af05544c49 FindMatlab: document function input/output
257a3e870e FindMatlab: add Matlab_VERSION and document.
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8286
Fix a regression from commit 073dd1bd81 (GoogleTest: Change format for
typed tests, 2022-02-07, v3.23.0-rc1~4^2) in the suite name detection.
Co-authored-by: Evgeniy Shcherbina <ixsci@pm.me>
Fixes: #24563
Revert commit 66b5d51f38 (ExternalProject: Install CMake projects
using 'cmake --install', 2022-09-08, v3.25.0-rc1~150^2).
It changed the ExternalProject install step command from:
cmake --build <dir> --target install --config <cfg>
to:
cmake --install <dir> --config <cfg>
The latter command no longer runs the external project build system
during the install step. We could consider using the commands:
cmake --build <dir> --target all --config <cfg>
cmake --install <dir> --config <cfg>
as the install step, but if `CMAKE_SKIP_INSTALL_ALL_DEPENDENCY` is
used in the external project, that can change semantics too.
Revert the original change pending further investigation on other ways
to support its motivating use case. Add a test covering the
previously-regressed use case.
Fixes: #24567
Issue: #23946
Since commit f24e34975a (ExternalProject: retry download on recoverable
errors, 2020-08-08, v3.19.0-rc1~298^2~1) ExternalProject has a list of
curl errors which trigger a retry today: 6, 7, 8 and 15.
Add curl error 28. It is a "timeout error", and should also trigger a
retry attempt at a download of an external project. The complete list
of curl errors is https://curl.se/libcurl/c/libcurl-errors.html
The sub-build should never try to use a toolchain file. The toolchain file
may itself be getting downloaded by FetchContent. If the
CMAKE_TOOLCHAIN_FILE environment variable is set, CMake uses it to
initialize the CMake variable of the same name. We need to explicitly
clear them before the first project call of the sub-build.
Fixes: #24535
There was a mix of ${} and @-@ substitutions in the CMakeLists.txt.in
file. It is sometimes useful to temporarily put ${} evaluations there while
working on issues, but they get replaced. Using @ONLY leaves them
untouched and uses a consistent substitution method for the whole file.
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
When using Clang with Visual Studio, the GenerateExportHeader function
generates the DEPRECATED definition "__attribute__ ((__deprecated__))",
because Clang can compile such instruction. However, if a user wants to compile
the library with this generated header with MSVC, the declaration is not valid.
We suggest to always use the DEPRECATED definition "__declspec(deprecated)" on
Windows, which is valid for both Clang and MSVC.
To detect Parallel HDF5, the output of `h5pcc -showconfig` was compared
with `Parallel HDF5: yes`. However, the Boolean flag is not always
`yes` or `no`, because it was set by the value in `HDF5_ENABLE_PARALLEL`
if CMake was used for the configuration. This commit instead checks to
see if the value is interpreted by CMake as "true".
If a project or user sets a variable or cache entry named `C` or `CXX`,
we were previously comparing those language names to the value of that
variable, rather than the name itself. Double-quote the string to take
advantage of policy `CMP0054`, but also add "x" prefixes to support
projects that do not set the policy.
This extends a similar fix from commit c8eb357738 (CompilerId: Tolerate
variables named for languages, 2021-06-17, v3.21.0-rc1~9^2).
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
On x86 Linux, the ldd output for its vDSO (linux-gate.so.1) is a bit
different from other Linux with standard vDSO name (linux-vdso.so.1).
$ ldd /bin/ls
linux-gate.so.1 => linux-gate.so.1 (0xf7f5e000)
libcap.so.2 => /usr/lib32/libcap.so.2 (0xf7f22000)
libc.so.6 => /usr/lib32/libc.so.6 (0xf7cfb000)
/lib/ld-linux.so.2 => /usr/lib32/ld-linux.so.2 (0xf7f60000)
This fixes the `Tests/BundleUtilities` test on x86 Linux.