Commit Graph

67691 Commits

Author SHA1 Message Date
Brad King
9fe70fd764 CMake 3.31.5 2025-01-23 10:53:36 -05:00
Brad King
ba5aaa73ba Merge branch 'release-3.30' into release-3.31 2025-01-23 10:40:25 -05:00
Brad King
d437178a10 CMake 3.30.7 2025-01-23 09:59:38 -05:00
Brad King
90ba5db330 Merge topic 'iar-find-linker' into release-3.31
cd9dd4cf8e IAR: decouple linker location from toolkit's bin dir

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10201
2025-01-22 09:28:10 -05:00
Felipe Torrezan
cd9dd4cf8e IAR: decouple linker location from toolkit's bin dir
The implementation in commit 564d527c04 (IAR: Improve error message for
missing license, 2024-08-12, v3.31.0-rc1~234^2) failed for corner cases
in which symlinks were used from a location different from the one in
which the toolkit is shipped with (`<target>/bin`).

In this new implementation, the `<target>` architecture is taken solely
from the compiler NAME itself for all the supported languages and
forwarded to its respective BinUtils executable names
(e.g., `icc<target>`, `iasm<target>`, `a<target>`). This decouples the
location from the subdirectory in which they should be found.

Fixes: #26610
2025-01-21 19:21:06 +01:00
Brad King
819216a250 Merge branch 'release-3.30' into release-3.31 2025-01-20 14:16:24 -05:00
Brad King
90b640ebdc Merge topic 'AutoExport-vftable' into release-3.30
41ff2916f2 WINDOWS_EXPORT_ALL_SYMBOLS: Fix vftable symbol export on ARM64EC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10187
2025-01-20 14:15:28 -05:00
Brad King
b4b8287b1d Merge topic 'AutoExport-vftable' into release-3.31
41ff2916f2 WINDOWS_EXPORT_ALL_SYMBOLS: Fix vftable symbol export on ARM64EC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Shijun zhang <1018423405@qq.com>
Merge-request: !10187
2025-01-20 14:13:12 -05:00
Brad King
41ff2916f2 WINDOWS_EXPORT_ALL_SYMBOLS: Fix vftable symbol export on ARM64EC
Extend commit f513781bc5 (WINDOWS_EXPORT_ALL_SYMBOLS: Export vftable
symbol, 2023-02-13, v3.27.0-rc1~495^2) to classify the symbol as data
on ARM64EC.

Fixes: #26604
2025-01-17 08:46:15 -05:00
Brad King
98de8ec788 Merge branch 'release-3.30' into release-3.31 2025-01-17 08:26:51 -05:00
Brad King
4f5f83a928 Merge topic 'FindMatlab-doc' into release-3.31
6e21dcc0ee FindMatlab: Fix multi-signature function documentation anchors

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10186
2025-01-17 08:19:15 -05:00
Brad King
c28486c9a1 Merge topic 'test-ninja-1.13' into release-3.31
24f0848836 Tests: Update expected results for ninja post-1.12 development

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10182
2025-01-17 08:11:59 -05:00
Brad King
21109753dc Merge topic 'FindMatlab-doc' into release-3.30
6e21dcc0ee FindMatlab: Fix multi-signature function documentation anchors

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10186
2025-01-17 08:10:49 -05:00
Brad King
f02f3ae72d Merge topic 'test-ninja-1.13' into release-3.30
24f0848836 Tests: Update expected results for ninja post-1.12 development

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10182
2025-01-17 08:06:41 -05:00
Brad King
6e21dcc0ee FindMatlab: Fix multi-signature function documentation anchors
Fix use of the `signature::` directive by commit ae558b9ad0 (FindMatlab:
Support REGISTRY_VIEW, 2024-02-08, v3.30.0-rc1~528^2).  The directive
was created for use inside `Help/command/*.rst` documents.  Using it
in module documentation requires explicit anchors.
2025-01-16 14:28:17 -05:00
Brad King
24f0848836 Tests: Update expected results for ninja post-1.12 development
Account for changes to upstream ninja:

* commit `5d93f2da28` (Add exit code to the failed target, 2024-12-03)
* commit `311bf93416` (Propagate jobs' exit codes to the ninja's exit code,
                       2024-12-03)
2025-01-16 08:14:25 -05:00
Brad King
61c07b1a2b Merge topic 'clang-cuda-link-flags' into release-3.31
ae7f54e6a7 Clang/CUDA: Fix language-wide flags when linking .so with compiler driver

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: DavidRV00 <david@davidv.xyz>
Merge-request: !10173
2025-01-15 09:34:51 -05:00
Brad King
ae7f54e6a7 Clang/CUDA: Fix language-wide flags when linking .so with compiler driver
In commit cfa888a6e2 (Clang/CUDA: Add language-wide flags when linking
with compiler driver, 2024-10-07, v3.31.0-rc1~12^2) we added the wrong
placeholder to `CMAKE_CUDA_CREATE_SHARED_LIBRARY` to represent the
language-wide flags.  The `<FLAGS>` placeholder is for executables.
The `<LANGUAGE_COMPILE_FLAGS>` placeholder is for shared libraries.
The distinction is for historical reasons.

Fixes: #26563
2025-01-14 13:20:43 -05:00
Brad King
a29e1884a3 Merge topic 'fix-installscripts-gen' into release-3.31
ca5e6dadb5 install: Generate InstallScripts.json in consistent location

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10168
2025-01-14 09:48:57 -05:00
Martin Duffy
ca5e6dadb5 install: Generate InstallScripts.json in consistent location
Since commit 159ba027b9 (Install: Add parallel installation option,
2024-06-19, v3.31.0-rc1~333^2) the file was generated relative to the
current working directory.  This is not always the top of the build
tree, so specify the path explicitly.
2025-01-13 12:04:42 -05:00
Brad King
569b821a13 CMake 3.31.4 2025-01-10 09:59:02 -05:00
Brad King
92b260387d Merge topic 'duplicate-source-behavior' into release-3.31
3e15419bd4 target_sources: Restore toleration of duplicate CXX_MODULES sources
5cfb8ae790 Tests/CXXModules: add a test with duplicate sources

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10155
2025-01-10 09:28:14 -05:00
Brad King
3df8890638 Merge topic 'lfortran-generate-object-code' into release-3.31
daf6cc89ee LFortran: Remove hard-coded --generate-object-code flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10159
2025-01-10 09:26:54 -05:00
Brad King
8f45140baf Merge topic 'revert-genex-tco-subgraph' into release-3.31
a6b84a438f GenEx: Revert "Limit TARGET_PROPERTY transitive closure optimization"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10156
2025-01-10 09:21:01 -05:00
Ben Boeckel
3e15419bd4 target_sources: Restore toleration of duplicate CXX_MODULES sources
In commit 9c0491a3e4 (cmDyndepCollation: write out scanned source
information too, 2024-03-25) via !9708, the `sf_map` gained a new job of
also being used to track non-file set sources which could import
modules. This was implemented by removing processed `FILE_SET TYPE
CXX_MODULES` sources from the map and working with the sources
remaining. When a `FILE_SET TYPE CXX_MODULES` source appeared multiple
times, this would then erroneously complain that it "was not scheduled
for compilation". Use a set of source paths to track sources that have
already been processed. If duplicates are found, trigger an author
warning and skip the duplicate file.

Fixes: #26549
2025-01-09 22:36:06 +01:00
Ben Boeckel
5cfb8ae790 Tests/CXXModules: add a test with duplicate sources
See: #26549
2025-01-09 22:36:06 +01:00
Saurabh Kumar
daf6cc89ee LFortran: Remove hard-coded --generate-object-code flag
This was added in commit 98d0f918ba (LFortran: Add support for this
compiler, 2024-01-25, v3.31.0-rc1~303^2~2) because it is needed for
cases covered by CMake's Fortran tests.  However, it does not work
with Fortran modules and breaks lfortran's own `examples/project1`.
Move the flag to the test cases that need it, just as the original
commit did with `--implicit-interface`.

Fixes: #26597
Co-authored-by: Brad King <brad.king@kitware.com>
2025-01-09 14:49:39 -05:00
Brad King
a6b84a438f GenEx: Revert "Limit TARGET_PROPERTY transitive closure optimization"
Revert commit 4a11772618 (GenEx: Limit TARGET_PROPERTY transitive
closure optimization to subgraphs, 2024-05-31, v3.31.0-rc1~114^2).
The change caused substantial performance regressions in some
existing use cases.  Revert it pending further investigation.

Issue: #25728
Fixes: #26457
2025-01-09 11:56:20 -05:00
Brad King
627d710570 Merge topic 'FindBoost-1.87' into release-3.31
f485f94d1a FindBoost: Add support for Boost 1.87

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10147
2025-01-08 09:25:07 -05:00
Brad King
d29855f985 Merge topic 'codegen-help' into release-3.31
45726d93a8 Makefile: List codegen target in help

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10146
2025-01-08 09:23:59 -05:00
Brad King
f485f94d1a FindBoost: Add support for Boost 1.87
Update the list of known versions.

Run the command

    cmake -DBOOST_DIR=/path/to/boost_1_87_0 \
      -P Utilities/Scripts/BoostScanDeps.cmake

to extract dependencies from the 1.87.0 source tree.

Dependencies differ from 1.86:

* Boost.Log no longer depends on Boost.Chrono

Fixes: #26562
2025-01-07 15:41:31 -05:00
Brad King
45726d93a8 Makefile: List codegen target in help
This was left out of commit 197cb419d1 (add_custom_command: Add
CODEGEN support, 2024-05-27, v3.31.0-rc1~394^2).

Fixes: #26545
2025-01-07 15:14:53 -05:00
Marc Chevrier
e7153c29ac Merge topic 'Help-FindPython-Fix-typo' into release-3.31
e7ea2998fb Help: FindPython: fix typo

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10121
2024-12-22 07:17:52 -05:00
Marc Chevrier
e7ea2998fb Help: FindPython: fix typo 2024-12-21 17:50:25 +01:00
Brad King
41abd532b6 CMake 3.31.3 2024-12-19 10:18:19 -05:00
Brad King
01bfaf6b92 Merge topic 'ci-xcode-16.2' into release-3.31
86ee7cb4fe ci: update macOS jobs to use Xcode 16.2

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10107
2024-12-18 08:40:21 -05:00
Brad King
86ee7cb4fe ci: update macOS jobs to use Xcode 16.2 2024-12-17 10:57:22 -05:00
Brad King
51457c10b3 Merge branch 'release-3.30' into release-3.31 2024-12-17 10:55:32 -05:00
Brad King
f27ba9768b Merge topic 'ctest-invalid-arg' into release-3.31
30dded462a Help: Add 3.30 release note for error on unknown arguments to ctest

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10106
2024-12-17 10:54:53 -05:00
Brad King
ba86b3d841 Merge topic 'ctest-invalid-arg' into release-3.30
30dded462a Help: Add 3.30 release note for error on unknown arguments to ctest

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10106
2024-12-17 10:35:26 -05:00
Brad King
30dded462a Help: Add 3.30 release note for error on unknown arguments to ctest
This was left out of commit 304396d13c (ctest: Show error on invalid
ctest arguments, 2024-04-03, v3.30.0-rc1~286^2).

Fixes: #26539
2024-12-17 10:32:05 -05:00
Brad King
abeabd7c0c Merge topic 'ci-linkcheck' into release-3.31
25b25a7724 Help: Update link to UTF-8 RFC 3629

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10103
2024-12-17 10:07:46 -05:00
Brad King
25b25a7724 Help: Update link to UTF-8 RFC 3629
The old link now returns 404.
2024-12-16 09:20:23 -05:00
Brad King
ab3f1a2782 Merge branch 'release-3.30' into release-3.31 2024-12-12 09:14:36 -05:00
Brad King
e80d42cf6b Merge topic 'iface-public-modules' into release-3.30
854eba0c53 target_sources: Improve error message for CXX_MODULES on INTERFACE libraries
cd179e7560 Tests/RunCMake/CXXModules: Rename FileSetModules cases to be more specific

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10090
2024-12-12 09:12:25 -05:00
Brad King
2670dd4ed1 Merge topic 'iface-public-modules' into release-3.31
854eba0c53 target_sources: Improve error message for CXX_MODULES on INTERFACE libraries
cd179e7560 Tests/RunCMake/CXXModules: Rename FileSetModules cases to be more specific

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10090
2024-12-12 09:11:59 -05:00
Brad King
6622ae651f Merge topic 'install-DESTINATION-regression' into release-3.31
92e63421cb install: Restore treatment of DESTINATION as a single-valued keyword

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10088
2024-12-12 09:01:18 -05:00
Brad King
854eba0c53 target_sources: Improve error message for CXX_MODULES on INTERFACE libraries
We support non-compiled `SOURCES` on `INTERFACE` libraries, and also
support `CXX_MODULES` on *imported* `INTERFACE` libraries (via synthetic
targets that compile module interface units).  However, we do not
support `CXX_MODULES` on non-imported `INTERFACE` libraries because
there is no place to hold module interface unit's object files for their
module initializers.  Previously this was not explicitly rejected, and
so was diagnosed only by "CMake Internal Error" messages due to
assumption violations in the implementation.

Fixes: #26524
Co-authored-by: Ben Boeckel <ben.boeckel@kitware.com>
2024-12-11 12:34:29 -05:00
Brad King
cd179e7560 Tests/RunCMake/CXXModules: Rename FileSetModules cases to be more specific
They all add `CXX_MODULES` to `STATIC` libraries.
2024-12-11 12:20:45 -05:00
Brad King
4671919cbb Merge topic 'codegen-make' into release-3.31
25b43a5b7f Makefile: Enable progress messages for codegen target
af2b340a2e Makefile: Fix per-directory codegen target
b7e6c418e3 cmLocalUnixMakefileGenerator3: Simplify progress command generation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10085
2024-12-11 10:10:02 -05:00