Commit Graph

35655 Commits

Author SHA1 Message Date
Brad King 2f5998c2a8 Merge topic 'cmp0037-message'
c773d5b436 CMP0037: Restore diagnostic message for invalid ALIAS target names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !9519
2024-05-15 09:58:50 -04:00
Kitware Robot 7220b14a2a CMake Nightly Date Stamp 2024-05-15 00:01:16 -04:00
Brad King c773d5b436 CMP0037: Restore diagnostic message for invalid ALIAS target names
Refactoring in commit 7a4c02cb38 (cmGlobalGenerator: factor out
messaging for CMP0037, 2023-09-24, v3.28.0-rc1~39^2~7) incorrectly
switched to reporting the aliased target name instead of the invalid
name of the alias itself.

Fixes: #25979
2024-05-14 10:44:47 -04:00
Kitware Robot 82890c5d4a CMake Nightly Date Stamp 2024-05-14 00:01:14 -04:00
Brad King b56c083a54 Merge topic 'print-configure-generate-time'
29404cfd92 cmake: Capture more complete configure/generate steps in printed durations
f106df8f96 cmGlobalVisualStudio8Generator: Remove unused Configure method override

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !9508
2024-05-13 09:38:03 -04:00
Kitware Robot c6cb0b7ff6 CMake Nightly Date Stamp 2024-05-13 00:04:43 -04:00
Kitware Robot cb7795258d CMake Nightly Date Stamp 2024-05-12 00:01:07 -04:00
Kitware Robot 40513f6a90 CMake Nightly Date Stamp 2024-05-11 00:01:14 -04:00
Brad King 29404cfd92 cmake: Capture more complete configure/generate steps in printed durations
Extend the start/end times from commit 5f0c5ec49b (cmake: Print
configure/generate time, 2023-01-17, v3.26.0-rc1~67^2) to capture
generator-specific Configure/Generate actions, and the time spent
in the internal "Compute" step at the start of generation.

Fixes: #25482
2024-05-10 15:20:11 -04:00
Brad King f106df8f96 cmGlobalVisualStudio8Generator: Remove unused Configure method override
It has not been needed since commit c85367f408 (VS: Compute project
GUIDs deterministically, 2015-06-02, v3.4.0-rc1~496^2)
2024-05-10 14:20:52 -04:00
Kitware Robot 2e5b40f581 CMake Nightly Date Stamp 2024-05-10 00:01:33 -04:00
Brad King 760ad9bcc7 Merge topic 'remove-vs9-generator'
03c31b0395 Drop Visual Studio 9 2008 generator
88c70dde34 cmGlobalVisualStudioGenerator: Use member 'Version' more directly
0bdcf1cb17 cmLocalVisualStudio7Generator: Make vfproj conditions more explicit
acc5ea7390 cmLocalVisualStudio7Generator: Reset per-target members after every target
252702bb35 cmVisualStudioGeneratorOptions: Order version check branches consistently

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !9496
2024-05-09 10:31:01 -04:00
Kitware Robot 8a5c5885aa CMake Nightly Date Stamp 2024-05-09 00:01:17 -04:00
Brad King 03c31b0395 Drop Visual Studio 9 2008 generator
This generator has been deprecated since CMake 3.27.  Remove it.
2024-05-08 10:37:34 -04:00
Brad King 88c70dde34 cmGlobalVisualStudioGenerator: Use member 'Version' more directly 2024-05-08 10:37:34 -04:00
Brad King 0bdcf1cb17 cmLocalVisualStudio7Generator: Make vfproj conditions more explicit
Avoid relying on the conditions for `vcproj` used by the VS9 generator.
2024-05-08 10:37:25 -04:00
Brad King acc5ea7390 cmLocalVisualStudio7Generator: Reset per-target members after every target 2024-05-08 10:36:22 -04:00
Kitware Robot e138fdc819 CMake Nightly Date Stamp 2024-05-08 00:01:29 -04:00
Brad King 252702bb35 cmVisualStudioGeneratorOptions: Order version check branches consistently 2024-05-07 10:36:45 -04:00
Brad King 9f7ec4c297 CMake 3.28.5 2024-05-07 08:42:47 -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 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
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 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 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 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 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 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
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 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
Brad King 99bfb430ee cmNinjaTargetGenerator: Remove unused Apple architecture list 2024-05-01 12:27:16 -04:00
Brad King de9faaf0a3 Merge topic 'genex-link-properties'
ddb9442f48 GenEx: Fix TARGET_PROPERTY evaluation of transitive link properties
862b8e28ad GenEx: Teach TARGET_PROPERTY evaluation to optionally pierce LINK_ONLY
8d1d6a1437 Tests: Cover TARGET_PROPERTY genex evaluation of transitive link properties
abf607c2ec Tests: Cover TARGET_PROPERTY genex evaluation of transitive build properties
7d3d728a72 Help: Clarify CMP0099 documentation and summary text
79a3ae9a0d cmGeneratorExpressionDAGChecker: Simplify transitive property table
e8010b67c7 cmGeneratorExpressionDAGChecker: Make local generator available in constructor
b36fb3f6f1 cmGeneratorExpressionNode: Remove outdated lint suppression

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9473
2024-05-01 10:06:11 -04:00
Ben Boeckel 3022f0363f VS: set ScanSourceForModuleDependencies at vcxproj level
Implement the target-wide `CXX_SCAN_FOR_MODULES`/`CMP0155` selection
with the `.vcxproj`-wide `ScanSourceForModuleDependencies` setting.
Set the per-source equivalent only when needed for a per-source
`CXX_SCAN_FOR_MODULES` property.

This approach enables Intellisense for interfaces imported from modules.
It is also more consistent with what a user might expect when
investigating the state of module scanning from the VS property panels.

Fixes: #25806
Fixes: #25947
2024-05-01 09:54:50 -04:00