Commit Graph

65079 Commits

Author SHA1 Message Date
Brad King d26526a36f Merge branch 'release-3.28' into release-3.29 2024-03-26 09:07:16 -04:00
Brad King 8b832b353c Merge topic 'libuv-macos-10.5' into release-3.29
e3e2ef1964 libuv: Avoid posix_spawn on macOS < 10.8

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9371
2024-03-26 09:06:20 -04:00
Brad King 8fd4110d55 Merge topic 'libuv-macos-10.5' into release-3.28
e3e2ef1964 libuv: Avoid posix_spawn on macOS < 10.8

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9371
2024-03-26 09:05:32 -04:00
Brad King e3e2ef1964 libuv: Avoid posix_spawn on macOS < 10.8
Since libuv commit `83efa3dd71` (Reland "macos: use posix_spawn instead
of fork", 2022-03-02, v1.44.0~10), `uv_spawn` on macOS < 10.8
has been observed to cause kernel panics and/or resource exhaustion.
This became particularly noticeable in CMake since commit 5420639a8d
(cmExecuteProcessCommand: Replace cmsysProcess with cmUVProcessChain,
2023-06-01, v3.28.0-rc1~138^2~8).  Prefer `fork` over `posix_spawn` in
libuv when targeting macOS < 10.8.

Fixes: #25414
Fixes: #25818
Inspired-by: Ken Cunningham <kencu@macports.org>
2024-03-25 12:11:57 -04:00
Brad King 245fa4760c Merge topic 'IntelLLVM-Fortran-no-isystem' into release-3.29
a80d8e839d IntelLLVM: Revert accidental use of -external:I with Fortran compilers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !9368
2024-03-25 10:51:15 -04:00
Brad King a80d8e839d IntelLLVM: Revert accidental use of -external:I with Fortran compilers
In commit 8218aed118 (IntelLLVM: support marking include paths as SYSTEM
directories, 2023-08-15, v3.29.0-rc1~81^2) this flag was added for the C
and C++ compilers, but was accidentally added for Fortran too.  Remove
it for the latter, as it is unsupported.

Issue: #25807
2024-03-24 15:03:11 -04:00
Brad King 78e89edab4 Merge topic 'linker-vars-propagate-try_compile' into release-3.29
98cc86e265 try_compile(): Include languages with _ or - when passing linker vars

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9361
2024-03-24 14:33:30 -04:00
Brad King 0ebe55ae41 Merge topic 'matlab-2024a' into release-3.29
bade9832e6 FindMatlab: R2024a version map

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9360
2024-03-22 09:01:53 -04:00
Craig Scott 98cc86e265 try_compile(): Include languages with _ or - when passing linker vars
Fixes: #25809
2024-03-22 21:35:51 +11:00
scivision bade9832e6 FindMatlab: R2024a version map 2024-03-21 10:13:59 -04:00
Brad King 25d2850c19 CMake 3.29.0 v3.29.0 2024-03-21 09:32:22 -04:00
Brad King 7e52f9d4e0 Merge branch 'release-3.28' into release-3.29 2024-03-20 10:35:33 -04:00
Brad King b5602e7254 CMake 3.28.4 v3.28.4 2024-03-20 10:03:43 -04:00
Brad King 780c1ab0ec Merge branch 'release-3.28' into release-3.29 2024-03-20 09:56:40 -04:00
Brad King 0287208bbf Merge topic 'ninja-fortran-include' into release-3.29
36dc8d6d50 Ninja: Fix Fortran module deps in files INCLUDEd by preprocessed sources

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9351
2024-03-20 09:55:47 -04:00
Brad King 5969b4f457 Merge topic 'ninja-fortran-include' into release-3.28
36dc8d6d50 Ninja: Fix Fortran module deps in files INCLUDEd by preprocessed sources

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9351
2024-03-20 09:54:50 -04:00
Brad King 3135a99467 Merge topic 'package-dispatch-apple' into release-3.29
85d6d3b2e3 generate_apple_*_selection_file: Add option to capture errors
2149dbd379 generate_apple_architecture_selection_file: Document $(ARCHS_STANDARD) support
be642f6ed5 generate_apple_architecture_selection_file: Simplify signature
8959ad9db1 Tests/RunCMake/CMakePackage: Fix Apple architecture selection argument order
677f3d721b Tests/RunCMake/CMakePackage: Add architecture i386 for macOS on Xcode < 10

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9349
2024-03-20 09:51:43 -04:00
Brad King b877fb49ce Merge topic 'doc-release-3.29-typos' into release-3.29
eceb368ccc Help: Fix typos in 3.29 docs
31fb693d06 Help: Fix typos and grammar in pre-3.29 docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9353
2024-03-19 10:10:15 -04:00
Brad King 88d2dd0735 Merge topic 'doc-exit-code-range' into release-3.29
c980745b82 Help: Specify advisable range for exit code in cmake_language(EXIT)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9352
2024-03-19 10:09:19 -04:00
Brad King 85d6d3b2e3 generate_apple_*_selection_file: Add option to capture errors
Add an option to capture error messages in a variable instead of
terminating with a fatal error.

Fixes: #25778
2024-03-19 09:52:32 -04:00
Brad King 2149dbd379 generate_apple_architecture_selection_file: Document $(ARCHS_STANDARD) support
Also add a test case.

Fixes: #25780
2024-03-19 09:52:32 -04:00
Brad King be642f6ed5 generate_apple_architecture_selection_file: Simplify signature
Allow callers to pass multiple values to list-valued arguments
instead of putting the entire list in a single quoted argument.

Fixes: #25779
2024-03-19 09:52:32 -04:00
Brad King 8959ad9db1 Tests/RunCMake/CMakePackage: Fix Apple architecture selection argument order
Call `generate_apple_architecture_selection_file` with matching order in
`SINGLE_ARCHITECTURES` and `SINGLE_ARCHITECTURE_INCLUDE_FILES`.
2024-03-19 09:51:21 -04:00
Brad King 677f3d721b Tests/RunCMake/CMakePackage: Add architecture i386 for macOS on Xcode < 10
Use every architecture each version of Xcode has in `$(ARCHS_STANDARD)`.
2024-03-19 09:46:57 -04:00
Brad King 36dc8d6d50 Ninja: Fix Fortran module deps in files INCLUDEd by preprocessed sources
If a preprocessed source also uses the Fortran `INCLUDE` directive,
search the original source file's directory.

Fixes: #25792
2024-03-19 07:56:13 -04:00
Craig Scott c980745b82 Help: Specify advisable range for exit code in cmake_language(EXIT)
The limitations added here are documented in the bash shell's
reference manual.
2024-03-19 22:37:52 +11:00
Craig Scott eceb368ccc Help: Fix typos in 3.29 docs 2024-03-19 21:47:28 +11:00
Craig Scott 31fb693d06 Help: Fix typos and grammar in pre-3.29 docs 2024-03-19 21:47:21 +11:00
Brad King 8a40da1b71 Merge topic 'doc-project-include-vars-3.29' into release-3.29
dcb894fb00 Help: Update project() code injection for new 3.29 include behavior
09cf39ab07 Help: Improve wording of CMAKE_PROJECT_..._INCLUDE... changes for 3.29

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9343
2024-03-18 13:59:52 -04:00
Craig Scott dcb894fb00 Help: Update project() code injection for new 3.29 include behavior
Specifically, the various CMAKE_PROJECT_...INCLUDE... variables can
now take a list of things, and those things can be module names
too, not just file names.
2024-03-16 17:43:25 +11:00
Craig Scott 09cf39ab07 Help: Improve wording of CMAKE_PROJECT_..._INCLUDE... changes for 3.29 2024-03-16 17:42:10 +11:00
Brad King 788c204788 CMake 3.29.0-rc4 v3.29.0-rc4 2024-03-14 13:33:17 -04:00
Brad King e497fbfca3 Merge topic 'Apple-TBD-in-subdirecory' into release-3.29
bcc26ce465 Apple Text Based Stubs: should be usage in subdirectories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9341
2024-03-14 13:31:10 -04:00
Brad King 3e90c88733 Merge branch 'release-3.28' into release-3.29 2024-03-14 11:47:48 -04:00
Brad King 742af6cff7 Merge topic 'autogen-makefile-depfile' into release-3.29
d2d1763f88 cmQtAutoGenInitializer: De-duplicate autogen/timestamp target depend logic
6193d15556 Autogen: Restore target-ordering dependencies in Makefiles with DEPFILE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9340
2024-03-14 11:46:53 -04:00
Brad King 8ebdee9314 Merge topic 'autogen-makefile-depfile' into release-3.28
d2d1763f88 cmQtAutoGenInitializer: De-duplicate autogen/timestamp target depend logic
6193d15556 Autogen: Restore target-ordering dependencies in Makefiles with DEPFILE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9340
2024-03-14 11:46:08 -04:00
Brad King 8f0801cacc Merge topic 'LINKER_TYPE-mold-support' into release-3.29
801ae06952 LINKER_TYPE: Support MOLD only on GCC versions that support it
939ac5287e LINKER_TYPE: fix spelling error in message
922883782b LINKER_TYPE: Document that linker tool should be in the PATH

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9334
2024-03-14 11:45:13 -04:00
Brad King d93a7c18d8 Merge topic 'fc-MakeAvailable-leak-var' into release-3.29
2b68048bdb FetchContent: Don't leak temporary variable and restore var robustly

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9338
2024-03-14 11:44:00 -04:00
Marc Chevrier bcc26ce465 Apple Text Based Stubs: should be usage in subdirectories
Fixes: #25765
2024-03-14 14:33:48 +01:00
Brad King d2d1763f88 cmQtAutoGenInitializer: De-duplicate autogen/timestamp target depend logic
We place the same target ordering dependencies on either the
`_autogen_timestamp_deps` target or the `_autogen` target.
Refactor the logic to avoid duplicating that code.
2024-03-14 09:18:56 -04:00
Brad King 6193d15556 Autogen: Restore target-ordering dependencies in Makefiles with DEPFILE
In commit aebfbcaa46 (AutoGen: Use depfiles for the XXX_autogen ninja
targets, 2020-01-14, v3.17.0-rc1~58^2) the `_autogen_timestamp_deps`
target was given target ordering dependencies through its custom command
rather than direct target dependencies as on the `_autogen` target.
Then commit 895fa3433f (cmQtAutoGenInitializer: support IMPLIB-only
imported targets, 2021-09-23, v3.22.0-rc1~80^2) converted some
target-level dependencies into file-level dependencies on the custom
command.  This only works with a monolithic build graph like Ninja.

Since commit ebc9e448b3 (Autogen: Add depfile support for Makefiles,
2023-09-07, v3.28.0-rc1~101^2~1) we use the `_autogen_timestamp_deps`
target in Makefile generators too.  This exposed the missing target
ordering dependency.

Fixes: #25766
2024-03-14 09:05:06 -04:00
Marc Chevrier 801ae06952 LINKER_TYPE: Support MOLD only on GCC versions that support it
Fixes: #25748
2024-03-13 11:13:21 -04:00
Brad King 886333da38 Merge topic 'export-find_dependency-calls' into release-3.29
3a739d4dcb EXPORT_PACKAGE_DEPENDENCIES: Add experimental feature gate

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9336
2024-03-13 10:57:07 -04:00
Brad King 3d67b5a4e5 Merge branch 'release-3.28' into release-3.29 2024-03-13 10:52:47 -04:00
Brad King 7a9fc8ca06 Merge topic 'backport-3.28-ci-xcode-15.3' into release-3.28
8a6d05aa9d gitlab-ci: update macOS jobs to use Xcode 15.3
7bf893bc30 Tests: Update RunCMake.CheckCompilerFlag for Xcode 15.3
7f5f0ab4b3 Tests: Update RunCMake.CompileFeatures for Xcode 15.3

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9333
2024-03-13 10:52:15 -04:00
Brad King be27ce8fea Merge topic 'ci-xcode-15.3' into release-3.29
682767e8a5 Merge branch 'backport-3.28-ci-xcode-15.3'
e572986231 LinkerId: Update detection of linker tool for Xcode 15.3
8a6d05aa9d gitlab-ci: update macOS jobs to use Xcode 15.3
7bf893bc30 Tests: Update RunCMake.CheckCompilerFlag for Xcode 15.3
7f5f0ab4b3 Tests: Update RunCMake.CompileFeatures for Xcode 15.3

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9333
2024-03-13 10:51:11 -04:00
Craig Scott 2b68048bdb FetchContent: Don't leak temporary variable and restore var robustly
In FetchContent_MakeAvailable(), the __fcprefix__ previously used
when pushing the value of CMAKE_EXPORT_FIND_PACKAGE_NAME
to the variable stack is not needed. The stack will never be empty
at that point, so pushing an empty value will be handled correctly.
By removing the __fcprefix__, we no longer need any temporary
variable when restoring CMAKE_EXPORT_FIND_PACKAGE_NAME.

But we need to ensure CMAKE_EXPORT_FIND_PACKAGE_NAME is
left undefined if it wasn't defined before, and pushing an empty
value doesn't let us distinguish between unset and set-but-empty.
Therefore, when CMAKE_EXPORT_FIND_PACKAGE_NAME is undefined,
push a specific value that can't be used by the project instead and
check for that when popping it again. This ensures we can robustly
distinguish the two cases and will always restore the right state.

Fixes: #25758
2024-03-13 17:27:18 +11:00
Brad King 3a739d4dcb EXPORT_PACKAGE_DEPENDENCIES: Add experimental feature gate
Some design concerns have been raised after trying the 3.29 release
candidates.  Avoid committing to a stable public interface for now.

Issue: #25767
2024-03-12 14:24:53 -04:00
Marc Chevrier 939ac5287e LINKER_TYPE: fix spelling error in message 2024-03-12 18:18:25 +01:00
Brad King 682767e8a5 Merge branch 'backport-3.28-ci-xcode-15.3' 2024-03-12 09:49:17 -04:00