Commit Graph

64976 Commits

Author SHA1 Message Date
Ben Boeckel
b03356f954 Help/add_custom_command: fix verb grammo 2024-02-28 13:21:52 -05:00
Brad King
5ac8368922 Merge topic 'Help-file-ARCHIVE_EXTRACT-mention-working-dir' into release-3.29
189d28d77d Help/file: mention the working directory for `ARCHIVE_EXTRACT`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9291
2024-02-27 09:11:42 -05:00
Brad King
fe82cd6900 Merge branch 'release-3.28' into release-3.29 2024-02-27 09:08:02 -05:00
Brad King
4ff4417b54 Merge topic 'cxxmodules-fileset-cache-fullpath' into release-3.29
0a18f9baad cmGeneratorTarget: collapse paths before querying the fileset cache

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9286
2024-02-27 09:06:24 -05:00
Brad King
9b4bbd26a9 Merge topic 'clang-use-arg1' into release-3.29
7008fc234b CMakeDetermineCompilerId: use `_ARG1` to query the clang resource dir

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9285
2024-02-27 09:05:12 -05:00
Brad King
febe479570 Merge topic 'cxxmodules-fileset-cache-fullpath' into release-3.28
0a18f9baad cmGeneratorTarget: collapse paths before querying the fileset cache

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9286
2024-02-27 09:02:54 -05:00
Brad King
5feddb6f4b Merge topic 'clang-use-arg1' into release-3.28
7008fc234b CMakeDetermineCompilerId: use `_ARG1` to query the clang resource dir

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9285
2024-02-27 09:02:27 -05:00
Ben Boeckel
189d28d77d Help/file: mention the working directory for ARCHIVE_EXTRACT
See: https://discourse.cmake.org/t/10135
2024-02-27 05:53:08 -05:00
Ben Boeckel
7008fc234b CMakeDetermineCompilerId: use _ARG1 to query the clang resource dir
Other core queries do this, so do it here too.
2024-02-26 11:49:17 -05:00
Brad King
083afc88db Merge topic 'swift-exe-module-name' into release-3.29
f292e28b84 Swift: Ninja: Pass module name to all swift builds

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9282
2024-02-26 10:19:21 -05:00
Brad King
2c69f8abee Merge topic 'FindOpenSSL-SLP-layout' into release-3.29
1327e0ff75 FindOpenSSL: Update layout for Shining Light Productions package on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9283
2024-02-26 10:18:17 -05:00
Brad King
db5d798cd8 Merge topic 'FindOpenMP-intel-oneapi-windows' into release-3.29
6c09451ed3 ci: Enable FindOpenMP tests in Intel nightly CI jobs on Windows
d427bfae61 FindOpenMP: Restore support for Intel compilers on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9284
2024-02-26 10:17:13 -05:00
Ben Boeckel
0a18f9baad cmGeneratorTarget: collapse paths before querying the fileset cache
Observed with paths with `../` when outside of the source tree. I
attempted to reproduce a test suite case for it but could not make it
happen.
2024-02-24 17:17:39 -05:00
Evan Wilde
f292e28b84 Swift: Ninja: Pass module name to all swift builds
Executables that don't export a public API should not emit a
swiftmodule, but the swift modulename is observable from within the
program, so we should still set the module name on executable builds.

Fixes: #25710
2024-02-23 11:12:05 -05:00
Brad King
6c09451ed3 ci: Enable FindOpenMP tests in Intel nightly CI jobs on Windows 2024-02-23 09:37:06 -05:00
Brad King
d427bfae61 FindOpenMP: Restore support for Intel compilers on Windows
Fix the condition added by commit 3019af64c2 (FindOpenMP: Add support
for GNU-like Clang targeting MSVC ABI, 2024-02-08, v3.29.0-rc1~8^2~1)
to be more specific.

Fixes: #25711
2024-02-23 09:37:03 -05:00
Matthias Isele
1327e0ff75 FindOpenSSL: Update layout for Shining Light Productions package on Windows
Fixes: #25702
2024-02-23 08:46:11 -05:00
Brad King
9cd34156f4 Merge topic 'doc-create_test_sourcelist' into release-3.29
2c646641ec Help: Document create_test_sourcelist source path convention
c21f0eb30b Help: Modernize create_test_sourcelist documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !9281
2024-02-23 07:41:27 -05:00
Brad King
dc45b20aca CMake 3.29.0-rc2 v3.29.0-rc2 2024-02-22 09:40:22 -05:00
Brad King
2c646641ec Help: Document create_test_sourcelist source path convention
Document the change in commit a29ca55b1f (create_test_sourcelist: use
the full path to the driver, 2023-12-09, v3.29.0-rc1~264^2).
2024-02-22 09:37:23 -05:00
Brad King
c21f0eb30b Help: Modernize create_test_sourcelist documentation 2024-02-22 09:32:00 -05:00
Brad King
2f91902f08 Merge branch 'release-3.28' into release-3.29 2024-02-22 08:29:31 -05:00
Brad King
6ea634dc33 Merge topic 'doc-BUILD_SHARED_LIBS-top-level' into release-3.29
fb14a54a25 Help: Advise calling option(BUILD_SHARED_LIBS) early enough

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9280
2024-02-22 08:28:41 -05:00
Brad King
63600a8ca6 Merge topic 'test-BuildDepends-no-rosetta' into release-3.29
6b8c99a1e3 Tests: Fix BuildDepends on macOS arm64 without rosetta

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9277
2024-02-22 08:27:23 -05:00
Brad King
312d0ccb6b Merge topic 'restore-link-interface-objlib-with-unity' into release-3.29
5b8e9e068f Restore support for TARGET_OBJECTS in link interfaces with unity builds
1313c78a9c Tests: Update RunCMake.TargetObjects cmake_minimum_required version

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9279
2024-02-22 08:26:11 -05:00
Brad King
a4122c89c4 Merge topic 'cxxmodules-clang-resource-dir' into release-3.29
a3ada1a241 Clang: detect -resource-dir for clang-scan-deps

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9274
2024-02-22 08:23:58 -05:00
Brad King
e98cbbf65f Merge topic 'restore-link-interface-objlib-with-unity' into release-3.28
5b8e9e068f Restore support for TARGET_OBJECTS in link interfaces with unity builds
1313c78a9c Tests: Update RunCMake.TargetObjects cmake_minimum_required version

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9279
2024-02-22 08:23:46 -05:00
Brad King
1371a28861 Merge topic 'cxxmodules-clang-resource-dir' into release-3.28
a3ada1a241 Clang: detect -resource-dir for clang-scan-deps

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9274
2024-02-22 08:22:49 -05:00
Craig Scott
fb14a54a25 Help: Advise calling option(BUILD_SHARED_LIBS) early enough
Amends 01e33df83f (Help: Modernize BUILD_SHARED_LIBS
documentation, 2024-02-21) to highlight that BUILD_SHARED_LIBS
needs to be set early enough to prevent different behavior between
the first and subsequent runs.
2024-02-22 10:33:21 +11:00
Brad King
5b8e9e068f Restore support for TARGET_OBJECTS in link interfaces with unity builds
This was broken by commit df08c37a42 (cmGlobalGenerator: Add unity/pch
sources after computing compile features, 2024-02-02, v3.28.3~1^2~1^2),
and 3.28.2's commit 76b5383123 (cmGlobalGenerator: add unity sources
after computing target compile features, 2024-01-01, v3.28.2~17^2~1).

The problem is very similar to that fixed by commit 4e8f24e977 (PCH:
Clear link interface cache when adding PCH object to it, 2022-01-24,
v3.23.0-rc1~44^2~9).  Generalize that fix.

Fixes: #25696
2024-02-21 17:08:57 -05:00
Brad King
1313c78a9c Tests: Update RunCMake.TargetObjects cmake_minimum_required version
This was missed in commit 1edf138506 (Tests/RunCMake: Update
cmake_minimum_required versions, 2023-02-06, v3.27.0-rc1~508^2~1).
2024-02-21 16:22:35 -05:00
Brad King
6fca88cde1 Merge topic 'doc-BUILD_SHARED_LIBS' into release-3.29
01e33df83f Help: Modernize BUILD_SHARED_LIBS documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9278
2024-02-21 13:50:31 -05:00
Brad King
df1d81d284 Merge branch 'release-3.28' into release-3.29 2024-02-21 13:41:34 -05:00
Brad King
74957cacf8 Merge topic 'cxxmodules-transitive-std' into release-3.29
f0df692d21 Tests/CXXModules: test `cxx_std_20` coming from a dependency

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9276
2024-02-21 13:37:43 -05:00
Brad King
c66396699b Merge topic 'cxxmodules-transitive-modules-usage' into release-3.29
ec348ee4b9 cmGeneratorTarget: discover synthetic targets recursively
67466ddf65 cmExportFileGenerator: export link libraries as-is
a2e3e61a31 Tests/CXXModules: test transitive modules usage

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9273
2024-02-21 13:34:34 -05:00
Brad King
0d3f35f495 Merge topic 'cxxmodules-transitive-std' into release-3.28
f0df692d21 Tests/CXXModules: test `cxx_std_20` coming from a dependency

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9276
2024-02-21 13:29:36 -05:00
Brad King
edfdec287c Merge topic 'cxxmodules-transitive-modules-usage' into release-3.28
ec348ee4b9 cmGeneratorTarget: discover synthetic targets recursively
67466ddf65 cmExportFileGenerator: export link libraries as-is
a2e3e61a31 Tests/CXXModules: test transitive modules usage

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9273
2024-02-21 13:28:52 -05:00
Brad King
01e33df83f Help: Modernize BUILD_SHARED_LIBS documentation
Previously the documentation used long-outdated terminology from
CMake's early days.

Issue: #25699
2024-02-21 09:25:49 -05:00
Ben Boeckel
a3ada1a241 Clang: detect -resource-dir for clang-scan-deps
When cross-compiling, `clang-scan-deps` needs help to find the correct
location of core headers such as `stddef.h`. Always determine this path
and pass it when available.

Fixes: #25590
2024-02-21 08:51:42 -05:00
Brad King
6b8c99a1e3 Tests: Fix BuildDepends on macOS arm64 without rosetta 2024-02-21 08:39:37 -05:00
Ben Boeckel
f0df692d21 Tests/CXXModules: test cxx_std_20 coming from a dependency
Closes: #25569
2024-02-20 12:32:48 -05:00
Ben Boeckel
ec348ee4b9 cmGeneratorTarget: discover synthetic targets recursively
Fixes: #25288
2024-02-20 10:53:31 -05:00
Ben Boeckel
67466ddf65 cmExportFileGenerator: export link libraries as-is
This allows for transitive modules to work because
`$<COMPILE_ONLY>`-wrapped dependencies do not end up in the
`linked-target-dirs` collator property. Test suite exported property
tests updated to account for the change.
2024-02-20 10:53:31 -05:00
Ben Boeckel
a2e3e61a31 Tests/CXXModules: test transitive modules usage 2024-02-20 10:53:31 -05:00
Brad King
d2df2e94e5 Merge topic 'vs-17.10' into release-3.29
d256581bb0 VS: Fix '-T version=14.40' under VS 17.10 preview 1
3a7fbd04c8 VS: Verify toolset version= field format more strictly

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9271
2024-02-20 10:36:00 -05:00
Brad King
aad37338c7 Merge branch 'release-3.28' into release-3.29 2024-02-20 10:32:42 -05:00
Brad King
dcdbdd82d5 Merge topic 'cxxmodules-transitive-target-usage' into release-3.29
8b6fc81fc3 cmTarget: copy link libraries from the right properties
d4a517f82a Tests/CXXModules: add a test with transitive targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9265
2024-02-20 10:30:25 -05:00
Brad King
583641ac92 Merge topic 'cxxmodules-transitive-target-usage' into release-3.28
8b6fc81fc3 cmTarget: copy link libraries from the right properties
d4a517f82a Tests/CXXModules: add a test with transitive targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9265
2024-02-20 10:29:18 -05:00
Brad King
d256581bb0 VS: Fix '-T version=14.40' under VS 17.10 preview 1
VS 17.10 preview 1 comes with toolset `v143` version `14.40`.  This is
the first time that the first three digits of the version do not match
the toolset name.  Add a special case to map version `14.40` back to
toolset `v143`.
2024-02-20 06:23:34 -05:00
Brad King
3a7fbd04c8 VS: Verify toolset version= field format more strictly
In commit 5f13168419 (VS: Add option to select the version of the
toolset used by VS 2017, 2018-05-19, v3.12.0-rc1~38^2) we added logic to
verify that the toolset version, such as `14.35`, matches the toolset
name, such as `v143`.  Clarify the logic to not construct a temporary
nonsensical toolset name like `v1435`.  Also verify the format of the
toolset version more strictly, e.g., to reject `14.350` earlier.
Previously the latter example was only rejected by the `.props` file not
existing.
2024-02-19 12:06:48 -05:00