Commit Graph

66038 Commits

Author SHA1 Message Date
Brad King e81dc5c79f Merge branch 'release-3.29' 2024-05-07 08:34:05 -04:00
Brad King 617884e78a Merge topic 'cxx-inspect-without-scanning'
6df925b595 cxxmodules: Do not scan sources while testing the compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !9494
2024-05-07 08:34:05 -04:00
Brad King 383f21147a Merge topic 'cxx-inspect-without-scanning' into release-3.29
6df925b595 cxxmodules: Do not scan sources while testing the compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !9494
2024-05-07 08:34:04 -04:00
Brad King f082c3d4c3 Merge topic 'update-kwsys'
8d29d3c79b Merge branch 'upstream-KWSys' into update-kwsys
31a1906652 KWSys 2024-05-06 (307037cf)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9493
2024-05-07 08:31:17 -04:00
Kitware Robot 50d7ab777c CMake Nightly Date Stamp 2024-05-07 00:01:16 -04:00
Brad King 6df925b595 cxxmodules: Do not scan sources while testing the compiler
The C++ sources we use to test the compiler do not use modules.
Avoid requiring a compiler that can scan just to enable the language,
even when CMP0155 is NEW.  The project may explicitly turn off
`CMAKE_CXX_SCAN_FOR_MODULES` before adding any targets.

Fixes: #25956
2024-05-06 13:59:27 -04:00
Brad King 8d29d3c79b Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2024-05-06 (307037cf)
2024-05-06 09:27:52 -04:00
KWSys Upstream 31a1906652 KWSys 2024-05-06 (307037cf)
Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit 307037cfdf7b24cf3b5b845cd8584caed8bfef69 (master).

Upstream Shortlog
-----------------

Juan Ramos (2):
      ff14b4f5 SystemInformation: Fix find logic
      a347a66b SystemInformation: Implement HasFPU on Apple processors
2024-05-06 09:27:51 -04:00
Brad King 99a308dc0b Merge topic 'usage-requirement-purpose-specifier'
ff1693cb3c cmGeneratorTarget: Clarify enum for specifying purpose of usage requirements
662d4c5315 cmGeneratorTarget: Clarify name for evaluating compile-only usage requirements

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9490
2024-05-06 09:26:58 -04:00
Brad King 557908ecfa Merge topic 'FindBoost-remove'
e0355c4ea9 FindBoost: Add policy to remove this module

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Christoph Grüninger <foss@grueninger.de>
Merge-request: !9488
2024-05-06 09:25:49 -04:00
Brad King de8df1da17 Merge topic 'cpack-support-all-component-names'
d7e2fede03 CPack: Add tests for component containing problematic characters
a1af593291 CPack: Support arbitrary component name when packaging
9e67ad47a9 cmLocalGenerator: Support arbitrary component name when installing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9436
2024-05-06 09:22:45 -04:00
Kitware Robot d61ad7ecaa CMake Nightly Date Stamp 2024-05-06 00:03:27 -04:00
Kitware Robot 8d22af2437 CMake Nightly Date Stamp 2024-05-05 00:01:13 -04:00
Kitware Robot 44dd6fe216 CMake Nightly Date Stamp 2024-05-04 00:01:22 -04:00
Brad King ff1693cb3c cmGeneratorTarget: Clarify enum for specifying purpose of usage requirements
Since commit 1e49880472 (cmGeneratorTarget: Avoid boolean trap in usage
requirement lookup, 2021-12-08, v3.23.0-rc1~245^2) we have clarified
the distinction between compile-only and link-only usage requirements.
Rename the `LinkInterfaceFor` enum to `UseTo` to clarify that its role
is to specify the purpose of usage requirements.
2024-05-03 13:04:10 -04:00
Brad King 662d4c5315 cmGeneratorTarget: Clarify name for evaluating compile-only usage requirements 2024-05-03 13:04:09 -04:00
Brad King a20c14b10d Merge topic 'doc-buildsystem'
e300620a09 Help: Clarify cmake-buildsystem(7) compile properties section names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9489
2024-05-03 13:03:53 -04:00
Brad King e300620a09 Help: Clarify cmake-buildsystem(7) compile properties section names
In commit 835f34949e (Help: Update cmake-buildsystem(7) build and usage
requirements, 2024-04-23) we labeled the sections documenting `COMPILE_*`
properties as "build properties".  All the properties it documents are
about compilation steps before linking, including the Autogen features
for compiling Qt metadata, so rename the sections as "compile properties".
This is also consistent with the name of the `$<COMPILE_ONLY:...>`
generator expression.
2024-05-03 12:07:40 -04:00
Brad King e0355c4ea9 FindBoost: Add policy to remove this module
Upstream Boost 1.70 and above provide a proper `BoostConfig.cmake`
package configuration file.  Packages for all major distros now
provide it in at least one LTS release.  Add a policy to pretend
that the `FindBoost` module does not exist so that projects calling
`find_package(Boost)` use the upstream package directly.

Closes: #19402
2024-05-03 10:30:23 -04:00
Brad King 1027c0e213 Merge topic 'cxxmodules-no-import-std-reason'
e89e819398 Tests/CXXModules: add tests for C++26 `import std` support
6dad18f060 cxxmodules: give a reason for unavailability of `import std`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9486
2024-05-03 09:26:39 -04:00
Brad King 1f7cf849c3 Merge branch 'release-3.29' 2024-05-03 09:25:05 -04:00
Brad King 071352a458 Merge branch 'release-3.28' 2024-05-03 09:25:03 -04:00
Brad King c373eac9df Merge branch 'release-3.28' into release-3.29 2024-05-03 09:24:56 -04:00
Brad King 00c940ecc9 Merge branch 'release-3.29' 2024-05-03 09:23:37 -04:00
Brad King de08bce94d Merge topic 'cxxmodules-build-export-different-directory'
1fba6d3233 Merge branch 'cxxmodules-build-export-different-directory-3.28' into cxxmodules-build-export-different-directory
ec35251510 cmDyndepCollation: look at all `export(TARGETS)` calls

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9485
2024-05-03 09:23:36 -04:00
Brad King 74a07abcc6 Merge topic 'cxxmodules-build-export-different-directory' into release-3.29
1fba6d3233 Merge branch 'cxxmodules-build-export-different-directory-3.28' into cxxmodules-build-export-different-directory
ec35251510 cmDyndepCollation: look at all `export(TARGETS)` calls

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9485
2024-05-03 09:23:35 -04:00
Brad King 1086902abd Merge topic 'cxxmodules-build-export-different-directory' into release-3.28
ec35251510 cmDyndepCollation: look at all `export(TARGETS)` calls

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9485
2024-05-03 09:13:18 -04:00
Kitware Robot 04ce020bf7 CMake Nightly Date Stamp 2024-05-03 00:01:16 -04:00
Ben Boeckel e89e819398 Tests/CXXModules: add tests for C++26 import std support 2024-05-02 14:46:51 -04:00
Ben Boeckel 6dad18f060 cxxmodules: give a reason for unavailability of import std
If the `CMAKE_CXX<STANDARD>_COMPILER_IMPORT_STD_NOT_FOUND_MESSAGE`
variable is set, include its value in the error message.
2024-05-02 14:46:51 -04:00
Brad King 721b86c02b Merge topic 'pch-single-arch'
ef006ebd9b PCH: Use per-arch .pch files only when building multiple Apple architectures
99bfb430ee cmNinjaTargetGenerator: Remove unused Apple architecture list

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9483
2024-05-02 09:44:48 -04:00
Brad King f0b40d451e Merge topic 'vs-filter-props'
56a96d1f1f VS: Add option to import .props in .vcxproj.filters files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9478
2024-05-02 09:43:17 -04:00
Brad King f9a5ee539c Merge branch 'release-3.29' 2024-05-02 09:41:21 -04:00
Brad King 6a16a1295a Merge branch 'release-3.28' 2024-05-02 09:41:20 -04:00
Brad King 6807c608e6 Merge branch 'release-3.28' into release-3.29 2024-05-02 09:41:12 -04:00
Brad King 1277b41cb3 Merge branch 'release-3.29' 2024-05-02 09:40:04 -04:00
Brad King 718f43e7ee Merge topic 'vs-scan-module-deps-settings'
3022f0363f VS: set ScanSourceForModuleDependencies at vcxproj level
dff511ad28 cmGeneratorTarget: add a target-level query for "needs dyndep"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: AaronRuizMoraUK <aaronruizmora@gmail.com>
Merge-request: !9471
2024-05-02 09:40:04 -04:00
Brad King a344140dfa Merge topic 'vs-scan-module-deps-settings' into release-3.29
3022f0363f VS: set ScanSourceForModuleDependencies at vcxproj level
dff511ad28 cmGeneratorTarget: add a target-level query for "needs dyndep"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: AaronRuizMoraUK <aaronruizmora@gmail.com>
Merge-request: !9471
2024-05-02 09:40:03 -04:00
Brad King 1584432c35 Merge topic 'vs-scan-module-deps-settings' into release-3.28
3022f0363f VS: set ScanSourceForModuleDependencies at vcxproj level
dff511ad28 cmGeneratorTarget: add a target-level query for "needs dyndep"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9471
2024-05-02 09:39:27 -04:00
Brad King 65196e2e3a Merge topic 'FindICU-cleanup'
9221448327 FindICU: remove noise, cleanup components handling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9481
2024-05-02 09:37:00 -04:00
Brad King fc188e35d1 Merge topic 'fphsa-before-project'
68a8c89430 FPHSA: Add hint for failure when called before project()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9480
2024-05-02 09:35:51 -04:00
Brad King 1d8848c4ce Merge topic 'FindOpenMP-runtime-msvc'
b07c637e42 FindOpenMP: Add option to control OpenMP runtime with MSVC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9475
2024-05-02 09:34:29 -04:00
Kitware Robot 8382fdd2e9 CMake Nightly Date Stamp 2024-05-02 00:01:16 -04:00
Ben Boeckel 1fba6d3233 Merge branch 'cxxmodules-build-export-different-directory-3.28' into cxxmodules-build-export-different-directory
* cxxmodules-build-export-different-directory-3.28:
  cmDyndepCollation: look at all `export(TARGETS)` calls
2024-05-01 22:09:43 -04:00
Ben Boeckel ec35251510 cmDyndepCollation: look at all export(TARGETS) calls
Previously, only `export()` calls in the same directory were noticed.

Also add a test that exports in a different directory than the target
itself resides in.

Fixes: #25813
2024-05-01 22:08:35 -04:00
Deniz Bahadir d7e2fede03 CPack: Add tests for component containing problematic characters 2024-05-01 19:20:32 +02:00
Deniz Bahadir a1af593291 CPack: Support arbitrary component name when packaging
CPack no longer blindly tries to create temporary packaging
(sub)directories that contain the verbatim name of a component, which
might contain characters that are not supported on the platform /
filesystem.
Instead, if the component's name contains a (possibly) problematic
character its MD5 hash will be used for that temporary packaging
(sub)directory.

Likewise, if the component's name resembles a reserved device name (e.g.
"COM1" on Windows) then the temporary packaging (sub)directory will get
this name prefixed with an underscore.
Similar, if it ends in a dot (on Windows) then the temporary packaging
(sub)directory will get this name suffixed with an underscore.

Fixes: #23612
2024-05-01 19:20:32 +02:00
Deniz Bahadir 9e67ad47a9 cmLocalGenerator: Support arbitrary component name when installing
The generated `cmake_install.cmake` script no longer blindly tries to
create files `install_manifest_<component-name>.txt` that partly
consists of the verbatim name of a component, which might contain
characters that are not supported on the platform / filesystem.
Instead, if the component's name contains a (possibly) problematic
character its MD5 hash will be used:
`install_manifest_<component-hash>.txt`
2024-05-01 19:20:32 +02:00
Brad King ef006ebd9b PCH: Use per-arch .pch files only when building multiple Apple architectures
Since commit f593b354da (PCH: Add support for multi architecture iOS
projects, 2020-04-02, v3.18.0-rc1~414^2) we use per-arch .pch files
even when compiling for just the host architecture on macOS arm64.
This breaks with compilers that do not support `-Xarch_` flags, such
as GCC.  Avoid using per-arch .pch files in single-architecture builds.

Fixes: #25514
Issue: #20497
2024-05-01 12:43:39 -04:00
halx99 56a96d1f1f VS: Add option to import .props in .vcxproj.filters files
Adds new target property VS_FILTER_PROPS

Fixes: #25948
2024-05-02 00:30:00 +08:00