Commit Graph

62314 Commits

Author SHA1 Message Date
Brad King
ae97d82e83 VS: Teach CMAKE_GENERATOR_PLATFORM to support Windows 8.1 SDK selection
Honor an explicit `version=8.1` field value regardless of the Windows
target version.

Issue: #25170
2023-08-10 09:57:00 -04:00
Brad King
15ff89654b VS: Teach CMAKE_GENERATOR_PLATFORM to use Windows 10 SDKs for older versions
Honor an explicit `version=` field selecting a Windows 10 SDK regardless
of the Windows target version.

Issue: #25170
2023-08-10 09:34:50 -04:00
Brad King
bba1a23da9 VS: Consolidate Windows SDK major version selection dispatch
Make logic choosing between Windows 10 SDKs and the Windows 8.1 SDK
easier to follow by consolidating it in the VS 14 generator.  The only
information we need from VS 15+ generators is whether the 8.1 SDK is
installed.
2023-08-10 09:33:20 -04:00
Brad King
209973e510 VS: Do not print empty Windows SDK version when none is selected 2023-08-10 09:33:19 -04:00
Brad King
ec6dd77053 Tests: Remove redundant condition in RunCMake.GeneratorPlatform test 2023-08-10 09:30:19 -04:00
Brad King
4776a584ad Help: Add 3.27 release note on VS default SDK selection
This was accidentally left out of commit f90c8ab54e (VS: Select latest
available Windows SDK version by default, 2023-04-03,
v3.27.0-rc1~206^2~1).

Issue: #16202
2023-08-08 20:35:02 -04:00
Brad King
4a8f9260c5 Merge topic 'file-GENERATE-arg-parsing' into release-3.27
88f90a72f1 file(GENERATE): Restore INPUT|CONTENT parse checking

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8694
2023-08-08 10:06:38 -04:00
Brad King
a707bc1349 Merge topic 'help-importing-exporting-lib' into release-3.27
b7704e8818 Help/guide/importing-exporting: Update line numbers in prose

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8691
2023-08-08 10:04:57 -04:00
Brad King
c433a831c2 Merge topic 'FindJNI-xcode-12.2' into release-3.27
efa0e2ddaf FindJNI: Update for Xcode greater than 12.1 on macOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8690
2023-08-08 09:52:25 -04:00
Brad King
741d19896c Merge topic 'cmList-append-regression' into release-3.27
7f9f96151a cmList: Fix performance regression in append/prepend

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8684
2023-08-08 09:39:04 -04:00
Evan Wilde
88f90a72f1 file(GENERATE): Restore INPUT|CONTENT parse checking
Refactoring in commit bff468c988 (cmFileCommand: Use cm::optional for
keyword argument presence, 2022-06-30, v3.25.0-rc1~512^2) accidentally
broke the check that the input argument is either `INPUT` or `CONTENT`.

The check is supposed to fail when arguments are passed in the wrong
order.  For example:

    file(GENERATE OUTPUT ...
         TARGET <target>
         CONTENT <content>)

Prior to this fix, the input method would be CONTENT, but because the
first parsed keyword is not `CONTENT`, `inputIsContent` would be false.
The first parsed keyword isn't INPUT either, so we would not continue
into the error condition. CMake would then try to handle this as an
input file, when there isn't one, resulting in uninitialized memory
usage and segfaults or corruption later on.

Fixes: #25169
2023-08-07 19:17:29 -04:00
Adrien Ollier
b7704e8818 Help/guide/importing-exporting: Update line numbers in prose
These were missed in commit aef057d0e8 (Help/guide: fix
MathFunctionsTargets.cmake path in importing-exporting, 2023-05-26,
v3.27.0-rc1~39^2) when a line was added to the example code.
2023-08-07 18:39:03 -04:00
Craig Scott
bd365b520e Merge topic 'doc-fixups-release-3.27' into release-3.27
78e7ea598d cmLocalGenerator: Fix trivial spelling error in code comment
1285fe27ff Help: Improve formatting and fix wording for ENABLE_EXPORTS
91336d061c Help: Improve formatting and cross-references for DEPENDS_EXPLICIT_ONLY
03208d9e18 Help: Fix indenting within TARGET_RUNTIME_DLLS genex docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8688
2023-08-07 18:10:55 -04:00
Christian Oyarzun
efa0e2ddaf FindJNI: Update for Xcode greater than 12.1 on macOS
`JavaVM.framework` was removed from Xcode in version 12.2+.

Fixes: #23364
2023-08-07 16:09:22 -04:00
Brad King
cbcd297826 Merge topic 'revert-vs-show-cmake-files' into release-3.27
0d1529000d VS: Revert "Add CMake input files to ZERO_CHECK"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8681
2023-08-07 11:34:04 -04:00
Craig Scott
78e7ea598d cmLocalGenerator: Fix trivial spelling error in code comment 2023-08-06 18:23:24 +10:00
Craig Scott
1285fe27ff Help: Improve formatting and fix wording for ENABLE_EXPORTS 2023-08-06 18:22:51 +10:00
Craig Scott
91336d061c Help: Improve formatting and cross-references for DEPENDS_EXPLICIT_ONLY 2023-08-04 19:16:28 +10:00
Craig Scott
03208d9e18 Help: Fix indenting within TARGET_RUNTIME_DLLS genex docs 2023-08-04 19:16:28 +10:00
Marc Chevrier
7f9f96151a cmList: Fix performance regression in append/prepend
Fixes: #25147
2023-08-04 09:52:08 +02:00
Brad King
0d1529000d VS: Revert "Add CMake input files to ZERO_CHECK"
Since commit df58dbb0e9 (VS: Add CMake input files to ZERO_CHECK,
2023-03-19, v3.27.0-rc1~157^2), projects that specify the same file both
as input to `configure_file` and as the `MAIN_DEPENDENCY` of a custom
command fail to configure.  Revert the change pending further
investigation.  Add a test case demonstrating the problem.

Issue: #24557
Fixes: #25149
2023-08-02 11:53:48 -04:00
Brad King
6e4822a035 Merge topic 'FindPython-Debian-workaround' into release-3.27
b02f3872d0 FindPython: Restore Python_SITE* values for versions below 3.10

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8672
2023-08-01 09:22:30 -04:00
Marc Chevrier
b02f3872d0 FindPython: Restore Python_SITE* values for versions below 3.10
Debian based distributions have a buggy sysconfig package.
So, rely on distutils.sysconfig if python version is less than 3.10.

Fixes: #25135
2023-07-31 15:00:44 -04:00
Brad King
094b98a374 Merge topic 'cxx-atomic' into release-3.27
78bbd58545 Source: Link libatomic when needed on Linux 32-bit ARM

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8663
2023-07-28 09:08:39 -04:00
Brad King
78bbd58545 Source: Link libatomic when needed on Linux 32-bit ARM
Fixes: #25114
2023-07-27 11:07:21 -04:00
Brad King
2d8aeaca07 Merge topic 'doc-if-exists' into release-3.27
3ab132d86f Help: Document that if(EXISTS) requires paths to be readable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8656
2023-07-27 09:59:19 -04:00
Brad King
3ab132d86f Help: Document that if(EXISTS) requires paths to be readable
Issue: #25125
2023-07-26 11:06:53 -04:00
Brad King
b5c54d9c8a CMake 3.27.1 v3.27.1 2023-07-25 13:58:09 -04:00
Brad King
d5b5af6ce8 Merge topic 'property-typo-fix' into release-3.27
c172eecea6 cmTarget: Restore Fortran_PREPROCESS property initialization

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8654
2023-07-25 13:55:55 -04:00
Ben Boeckel
c172eecea6 cmTarget: Restore Fortran_PREPROCESS property initialization
Fix a typo from commit e522f8ca06 (cmTarget: factor out properties
initialized for target which compile, 2023-02-01, v3.27.0-rc1~577^2~13),
that broke this property.

Also update the test suite to use this upgrade as some level of
coverage.

Fixes: #25123
2023-07-25 11:35:24 -04:00
Brad King
bc3486c788 Merge branch 'release-3.26' into release-3.27 2023-07-25 11:28:53 -04:00
Brad King
d89bcc8891 Merge topic 'cdash_checksum_400' into release-3.27
b7c871f745 ctest: Update ctest_submit for CDash behavior change

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8648
2023-07-25 11:03:05 -04:00
Brad King
1e085cbff7 Merge topic 'fix-ctest-timeout-regression' into release-3.27
0e8584c89c CTest: Fix regression in calculating test timeout

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8647
2023-07-25 09:21:10 -04:00
Brad King
091005fa65 Merge branch 'cdash_checksum_400' into release-3.26
Merge-request: !8648
2023-07-25 09:13:53 -04:00
Zack Galbreath
b7c871f745 ctest: Update ctest_submit for CDash behavior change
open.cdash.org was recently upgraded in preparation for the release of
CDash v3.2.0. This upgrade brought a change in behavior where CDash now
responds with HTTP 400 (bad request) rather than HTTP 200 (OK) for MD5
checksum mismatches during submission time.

This commit removes our usage of CURLOPT_FAILONERROR in
cmCTestSubmitHandler.cxx This was necessary to pass along the contents
of the request body ("md5 mismatch") in cases where the web server
(CDash) responds with an error status (400).

Fixes: #25121
2023-07-25 09:09:56 -04:00
Kyle Edwards
0e8584c89c CTest: Fix regression in calculating test timeout
Fixes: #25120
2023-07-24 19:29:54 -04:00
Brad King
21721ad3ce Merge topic 'dyndep-module-info-objlib-dependency' into release-3.27
b665966933 cmComputeLinkInformation: track OBJECT library dependencies
a99b87a628 Tests/RunCMake/CXXModules: add a test for issue #25112
2870a67540 Tests/FortranOnly: add a test case for issue #25112

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8645
2023-07-24 08:31:52 -04:00
Ben Boeckel
b665966933 cmComputeLinkInformation: track OBJECT library dependencies
In commit b6a5382217 (Ninja: depend on language module information files
directly, 2023-02-10), introduced via !8197, language-specific module
information files (`CMakeFiles/<target>.dir/<lang>Modules.json`) files
were added as real dependencies to the dyndep collation steps.
Previously, the behavior was to inform the collator of all possible
targets and search for the files manually ignoring those which did not
exist with ordering enforced by depending on the linker output of all
dependent targets. This behavior could lead to stale information being
used (e.g., if a target stops providing any targets) and also did not
reliably build everything needed on rebuilds. Afterwards, the internal
computation changed the dependency from all possible targets to an exact
set of "these targets might have modules" query, however one that did
not include `OBJECT` libraries since do not have `LinkEntry` items
internally (their objects are instead treated as source files).

As a stopgap measure, track `OBJECT` libraries in a separate list and
query them explicitly when gathering targets which may have interesting
information. Future work can add `LinkEntry` items to represent these
targets once all `LinkEntry` consumers have been audited to make sure
they are not surprised by any `OBJECT` library entries.

Fixes: #25112
2023-07-22 07:12:43 -04:00
Ben Boeckel
a99b87a628 Tests/RunCMake/CXXModules: add a test for issue #25112
Add a test case for C++ `OBJECT` libraries providing modules to
consumers.
2023-07-22 06:53:38 -04:00
Ben Boeckel
2870a67540 Tests/FortranOnly: add a test case for issue #25112
Add a test case for Fortran `OBJECT` libraries providing modules to
consumers.
2023-07-22 06:53:36 -04:00
Brad King
3ea7204de4 Merge topic 'FindOpenSSL-trust-root-dir' into release-3.27
791d4fd350 FindOpenSSL: Prefer OPENSSL_ROOT_DIR only if non-empty

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8643
2023-07-21 09:37:28 -04:00
Brad King
50c9723462 Merge branch 'release-3.26' into release-3.27 2023-07-21 09:36:14 -04:00
Brad King
b4693ea408 Merge topic 'FindCUDAToolkit-libnvrtc-builtins' into release-3.27
c2601d01d1 FindCUDAToolkit: Fix nvrtc_builtins library name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !8642
2023-07-21 09:35:09 -04:00
Brad King
791d4fd350 FindOpenSSL: Prefer OPENSSL_ROOT_DIR only if non-empty
Since commit 5cc8a69867 (FindOpenSSL: Trust the user's OPENSSL_ROOT_DIR,
2023-05-17, v3.27.0-rc1~71^2) we use `OPENSSL_ROOT_DIR` whenever it is
defined, even if it is an empty string.  This breaks a pattern in
existing projects that define an empty `OPENSSL_ROOT_DIR` cache entry so
that `cmake-gui` users can fill it in.  Use the value only if non-empty.

Issue: #18352
2023-07-20 12:18:13 -04:00
Brad King
eace51a20c Merge branch 'FindCUDAToolkit-libnvrtc-builtins' into release-3.26
Merge-request: !8642
2023-07-20 11:37:25 -04:00
Tomoharu Kitawaki
c2601d01d1 FindCUDAToolkit: Fix nvrtc_builtins library name
The lib is named `libnvrtc-builtins.so`, not `libnvrtc_builtins.so`.

Update the change from commit 2a94c762ed (FindCUDAToolkit: Add support
for CUDA::nvrtc_static, 2023-01-20, v3.26.0-rc1~55^2).  Apply a fix
similar to commit 9688a8ebc2 (FindCUDAToolkit: Fix
`nvrtc_builtins_static` library name, 2023-02-03, v3.26.0-rc2~15^2).
2023-07-20 11:34:47 -04:00
Brad King
8ea4a99d28 Merge branch 'release-3.26' into release-3.27 2023-07-19 14:40:17 -04:00
Brad King
01c62f4ff0 CMake 3.26.5 v3.26.5 2023-07-19 13:56:04 -04:00
Brad King
784596bd08 CMake 3.27.0 v3.27.0 2023-07-18 13:52:42 -04:00
Brad King
44698f1c88 Merge topic 'export-doc-config-map' into release-3.27
38737e3970 Help: Mention imported config mapping in export() and install() docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8637
2023-07-18 13:51:15 -04:00