56615 Commits

Author SHA1 Message Date
Brad King
34a6da34b8 CMake 3.23.4 v3.23.4 2022-10-04 13:26:33 -04:00
Brad King
22280bce61 Merge branch 'parse-large-int' into release-3.23
Merge-request: !7698
2022-09-20 15:17:16 -04:00
Brad King
8fc822e13a file: Avoid strange istringstream crash in cmake.org binaries on Alpine Linux
Somehow using `istringstream` and `operator >>` to parse an integer
crashes on Alpine Linux, at least when compiled with the settings we use
for the official `cmake.org` Linux binaries.  Since commit fd0c285b12
(file: Fix types of the OFFSET and LIMIT arguments, 2022-01-04,
v3.23.0-rc1~133^2), this causes the `file(READ)` command to crash when
parsing its `LIMIT` or `OFFSET` argument.  Parse the input string with
our dedicated helper to avoid the crash.

Fixes: #23872
2022-09-20 12:00:08 -04:00
Brad King
31f158e4c8 cmStringAlgorithms: Add functions to parse strings to long long integers 2022-09-20 12:00:08 -04:00
Brad King
5d80d7cb6a Merge branch 'findCUDAToolkit_declare_deps_for_targets_once' into release-3.23
Merge-request: !7633
2022-09-06 09:14:57 -04:00
Robert Maynard
f0918fe505 FindCUDAToolkit: Correctly state cusolver and cublas dependencies
Fixes #23920
2022-09-02 12:24:40 -04:00
Brad King
e2d03cea9e Merge branch 'FindGTest-gmock-needs-gtest' into release-3.23
Merge-request: !7523
2022-07-29 14:07:08 -04:00
Robert Maynard
1aa95e1a3b FindGTest: Create the gmock targets only when GTest has been found
When we introduced the `GTest::gmock` and `GTest::gmock_main` targets in
commit 50bf457a0d (FindGTest: Add target for gmock library, 2021-10-17,
v3.23.0-rc1~321^2) we failed to handle the case where GTest isn't found.
Don't construct gmock targets that depend on non-existent gtest targets
when gtest failed to be found.
2022-07-29 14:05:55 -04:00
Brad King
d566bd962d CMake 3.23.3 v3.23.3 2022-07-28 11:46:12 -04:00
Brad King
b9efb007d0 Merge branch 'release-3.22' into release-3.23 2022-07-28 11:30:01 -04:00
Brad King
0bfd4f1ed6 CMake 3.22.6 v3.22.6 2022-07-28 10:41:34 -04:00
Brad King
ee64500b7f Merge branch 'release-3.22' into release-3.23 2022-07-28 10:40:28 -04:00
Brad King
c6735d6102 Merge branch 'ci-xcode-13.4' into release-3.23
Merge-request: !7520
2022-07-28 09:36:05 -04:00
Brad King
faa4aed46f Merge branch 'ci-xcode-13.4' into release-3.22
Merge-request: !7520
2022-07-28 09:35:50 -04:00
Brad King
eddf057830 gitlab-ci: update macOS jobs to use Xcode 13.4 2022-07-28 09:27:27 -04:00
Brad King
e77ec7f76f Merge branch 'backport-3.23-cmake-P-path-args' into release-3.23
Merge-request: !7494
2022-07-22 17:01:01 -04:00
Robert Maynard
261fa5db39 cmake: In -P mode ignore extra paths on the command line
Fixes: #23748
2022-07-22 13:53:52 -04:00
Robert Maynard
314135cdf1 cmake: simplify to a single source of truth of working mode 2022-07-22 13:53:12 -04:00
Brad King
64b22cd459 Merge branch 'export-try-compile-crash' into release-3.23
Merge-request: !7472
2022-07-18 14:57:58 -04:00
Kyle Edwards
29c7546a61 cmGlobalGenerator: Only compute build files for all targets
If we're creating generation objects for imported targets only, we
don't need the export sets. Only compute build file generators
if generating for all targets.

Fixes: #23709
2022-07-13 11:34:34 -04:00
Brad King
3bae50e830 Merge branch 'release-3.22' into release-3.23 2022-07-08 12:18:00 -04:00
Brad King
5924dc2a7e Merge branch 'rel-macos-sign-notarize' into release-3.23
Merge-request: !7463
2022-07-08 12:15:55 -04:00
Brad King
d4762d46c7 Merge branch 'rel-macos-sign-notarize' into release-3.22
Merge-request: !7463
2022-07-08 12:15:31 -04:00
Brad King
432ae51467 Utilities/Release: Update macOS notarization script to use notarytool
`xcnotary` is no longer needed since `altool` has been deprecated in
favor of `notarytool`, which has builtin support for waiting.
2022-07-08 12:14:23 -04:00
Brad King
8b89649253 Merge branch 'release-3.22' into release-3.23 2022-07-07 09:03:38 -04:00
Brad King
05a5d351f4 Merge branch 'FindLAPACK-nvhpc' into release-3.23
Merge-request: !7452
2022-07-07 09:01:20 -04:00
Brad King
7cc61ff9e8 Merge branch 'FindLAPACK-nvhpc' into release-3.22
Merge-request: !7452
2022-07-07 09:00:30 -04:00
Eisuke Kawashima
28d52a43fc FindLAPACK: Add '-fortranlibs' flag only with NVHPC/PGI compilers
Since commit 2c9e623e31 (Find{BLAS,LAPACK}: Add support for the NVHPC
LAPACK library, 2021-05-05, v3.21.0-rc1~192^2) we try the `-fortranlibs`
option as a dependency of the NVHPC LAPACK.  That flag is specific to
the NVHPC/PGI compilers, so use it conditionally with them.

Without this modification, CMake fails to find LAPACK if

- compiler ID is GNU
- `BLA_STATIC` is `ON`
- `BLA_VENDOR` is not defined or set to `All`

Fixes: #23705, #22878
2022-07-06 13:58:47 -04:00
Brad King
529004738a Merge branch 'file-set-crash' into release-3.23
Merge-request: !7420
2022-06-30 08:22:27 -04:00
Kyle Edwards
3fee5398bd install(EXPORT): Check for missing file sets at generate time
Missing file sets were originally checked at configure time in
install(TARGETS ... EXPORT), but were not checked at generate time. If
a file set was added after install(TARGETS ... EXPORT) was called,
an abortion error was thrown. Check again at generate time to gracefully
display an error message instead of crashing.

Fixes: #23680
2022-06-29 15:05:32 -04:00
Brad King
49a9741656 Merge branch 'lcc-liblfortran-renamed' into release-3.23
Merge-request: !7407
2022-06-27 13:07:31 -04:00
Igor Molchanov
57da7a4925 LCC: link with -lgfortran instead of -llfortran since 1.26.03
Since LCC 1.26.03, compiler developers decided to rename
liblfortran to libgfortran (internal reference: mcstbug#131633),
and despite it's stated that "-llfortran will be automatically
treated as -lgfortran", it actually does not work (and there's
even no symlinks like liblfortran.* -> libgfortran.*); so we
have to explicitly choose which library we have to link in.

Fixes: #23646
2022-06-27 13:02:53 -04:00
Brad King
8321c3d08e Merge branch 'backport-3.23-ExternalProject-stamp-cfgdir' into release-3.23
Merge-request: !7396
2022-06-22 08:41:50 -04:00
Brad King
5022b42f8b ExternalProject: Fix regression in stamp creation for Xcode+iOS
The change to `_ep_add_mkdir_command` in commit 5fbac2bb24
(ExternalProject: Move inline scripts to separate files, 2022-01-22,
v3.23.0-rc1~101^2) did not account for the possibility that
`CMAKE_CFG_INTDIR` is `$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)`
instead of just the configuration name.  Pass the value into the helper
script on the command line so that the native buildsystem placeholders
are evaluated.

Fixes: #23645
2022-06-21 18:27:44 -04:00
Brad King
73afa6e9ae Merge branch 'release-3.22' into release-3.23 2022-06-11 05:38:12 -04:00
Brad King
65f2e9263c Merge branch 'xcode-14' into release-3.23
Merge-request: !7350
2022-06-11 05:37:53 -04:00
Brad King
7b43112bee Merge branch 'xcode-14' into release-3.22
Merge-request: !7350
2022-06-11 05:37:16 -04:00
Brad King
627c08e28b Tests: Teach RunCMake to ignore Xcode DVTSDK warnings
On some Xcode versions, `xcodebuild` may warn:

    ... xcodebuild[...]  [MT] DVTSDK: Warning: SDK path collision for path ...

Teach RunCMake to drop such incidental lines before matching against
expected output.
2022-06-10 14:24:03 -04:00
Brad King
ab40020b17 Xcode: Suppress "Run Script" build phase warning during compiler id
warning: Run script build phase 'Run Script' will be run during every
    build because it does not specify any outputs.
2022-06-10 14:24:03 -04:00
Brad King
89e1113e0c Xcode: Use ad-hoc signing during compiler id on macOS
Xcode 14 no longer accepts an empty signing identity for macOS.
However, Xcode in general does not accept an ad-hoc signing
identity for iOS.  Switch based on the target platform.

Fixes: #23609
2022-06-10 14:22:40 -04:00
Brad King
f02b6afdfa Merge topic 'ci-ninja-1.11.0' into release-3.23
62689fcf9c ci: update to use ninja 1.11.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7319
2022-06-03 09:46:17 -04:00
Brad King
62689fcf9c ci: update to use ninja 1.11.0 2022-06-02 12:38:00 -04:00
Brad King
84fe677eae Merge topic 'tutorial-cmath' into release-3.23
5c84eca210 Tutorial: Simplify logic checking for cmath functions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7314
2022-06-02 09:21:05 -04:00
Brad King
5c84eca210 Tutorial: Simplify logic checking for cmath functions
Since commit 07223c5c27 (Tutorial: Update Step 5 to work on Windows,
2020-02-18, v3.18.0-rc1~655^2) the logic does not work on non-Windows
platforms when cmake is re-run on an existing build tree.  It is also
more complicated than we'd like for a tutorial example.  Avoid the need
to consider the `m` library case by performing the check as C++.

Since `check_cxx_symbol_exists` cannot handle overloaded functions
like `exp` and `log`, check with `check_cxx_source_compiles` instead.
This also presents a more general-purpose example in the tutorial.

Fixes: #23524
2022-06-01 13:57:47 -04:00
Brad King
18be0f9267 Merge branch 'release-3.22' into release-3.23 2022-06-01 12:03:43 -04:00
Brad King
b243367b36 CMake 3.22.5 v3.22.5 2022-06-01 11:15:18 -04:00
Brad King
0ab3cb80fc Merge branch 'release-3.22' into release-3.23 2022-06-01 10:45:37 -04:00
Brad King
a12cc91764 Merge branch 'release-3.21' into release-3.22 2022-06-01 10:45:23 -04:00
Brad King
97073b1991 CMake 3.21.7 v3.21.7 2022-06-01 09:53:26 -04:00
Brad King
3ede9ed771 Merge branch 'release-3.22' into release-3.23 2022-05-31 11:57:13 -04:00