Commit Graph

35808 Commits

Author SHA1 Message Date
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
Ben Boeckel
dff511ad28 cmGeneratorTarget: add a target-level query for "needs dyndep"
This can still be overridden per-source, but it indicates the state of
the target's default behavior.
2024-05-01 09:41:07 -04:00
Brad King
be111897b3 Merge topic 'export-name-safe-name'
142a85f9c1 cxxmodules: use filesystem-safe export names in filenames
4452d41488 cmGeneratorTarget: add method to get a filesystem-safe export name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9474
2024-05-01 09:29:57 -04:00
Brad King
4bf49bc437 Merge topic 'export-name-safe-name' into release-3.29
142a85f9c1 cxxmodules: use filesystem-safe export names in filenames
4452d41488 cmGeneratorTarget: add method to get a filesystem-safe export name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9474
2024-05-01 09:29:55 -04:00
Brad King
f909fc2f92 Merge topic 'export-name-safe-name' into release-3.28
142a85f9c1 cxxmodules: use filesystem-safe export names in filenames
4452d41488 cmGeneratorTarget: add method to get a filesystem-safe export name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9474
2024-05-01 09:28:59 -04:00
Brad King
e6d04030d1 Merge topic 'simplify-and-clean-up-some-cpack-functions'
208b3f63ac CPackDeb.cmake: Fix debug message
48fc711064 cmLocalGenerator: Fix comments in generated cmake_install.cmake file
af1d166387 cmCPackGenerator: Fix debug message in function `PrepareGroupingKind`
a522abe5c0 cmCPackGenerator: Fix comment in function `InstallCMakeProject`
87cfe9dd91 cmCPackGenerator: Slightly simplify function `InstallProject`
1350ed96ff cmCPackGenerator: Clean up and simplify function `DoPackage`
d26eed4c75 cmCPackGenerator: Clean up and simplify function `PrepareNames`
12123b5b6b cmCPackGenerator: Refactor copying of package files into own function
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9457
2024-05-01 09:26:33 -04:00
Brad King
dc8ddf7f59 Merge topic 'search-path-label'
b97be07dd3 cmFindCommon: Fix typo in internal search path group label

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9479
2024-05-01 09:21:48 -04:00
Brad King
5429244f27 Merge topic 'cmp0116-escaped-colon'
bc258730ec cmake_transform_depfile: Handle escaped colons in depfile content

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9472
2024-05-01 09:09:40 -04:00
Kitware Robot
413221f373 CMake Nightly Date Stamp 2024-05-01 00:01:19 -04:00
Brad King
b97be07dd3 cmFindCommon: Fix typo in internal search path group label
Fix a typo from commit 1abd7cd930 (Use containers of labeled search
paths instead of individual members, 2014-10-17, v3.2.0-rc1~400^2).
The string is used only as an internal unique name, so the typo
was not user-facing.
2024-04-30 14:36:06 -04:00
Deniz Bahadir
48fc711064 cmLocalGenerator: Fix comments in generated cmake_install.cmake file 2024-04-30 18:36:25 +02:00
Deniz Bahadir
af1d166387 cmCPackGenerator: Fix debug message in function PrepareGroupingKind 2024-04-30 18:36:25 +02:00
Deniz Bahadir
a522abe5c0 cmCPackGenerator: Fix comment in function InstallCMakeProject 2024-04-30 18:36:25 +02:00
Deniz Bahadir
87cfe9dd91 cmCPackGenerator: Slightly simplify function InstallProject 2024-04-30 18:36:25 +02:00
Deniz Bahadir
1350ed96ff cmCPackGenerator: Clean up and simplify function DoPackage 2024-04-30 18:36:25 +02:00
Deniz Bahadir
d26eed4c75 cmCPackGenerator: Clean up and simplify function PrepareNames 2024-04-30 18:36:25 +02:00
Deniz Bahadir
12123b5b6b cmCPackGenerator: Refactor copying of package files into own function 2024-04-30 18:36:25 +02:00
Deniz Bahadir
d488efa0b4 cmCPackGenerator: Refactor generation of checksum file into own function 2024-04-30 18:36:25 +02:00
Deniz Bahadir
5fa5bde5d6 cmCryptoHash: Add function which gets the hash type name 2024-04-30 18:36:24 +02:00
Brad King
2549f5a66e Merge topic 'exported-modules-with-headers'
2041f7c9bf cmGeneratorTarget: add the original target as a COMPILE_ONLY link
051c2110c8 Tests/CXXModules: test exporting modules which include headers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9469
2024-04-30 10:10:36 -04:00
Brad King
c5d8fa3f2c Merge topic 'exported-modules-with-headers' into release-3.29
2041f7c9bf cmGeneratorTarget: add the original target as a COMPILE_ONLY link
051c2110c8 Tests/CXXModules: test exporting modules which include headers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9469
2024-04-30 10:10:34 -04:00
Philipp Borsutzki
bc258730ec cmake_transform_depfile: Handle escaped colons in depfile content
Support escaped colons in windows paths containing driver letters
(e.g. `c\:\\`) when parsing depfiles.

Fixes: #25943
2024-04-30 09:16:49 -04:00
Ben Boeckel
142a85f9c1 cxxmodules: use filesystem-safe export names in filenames
Also add tests.

Fixes: #25828
2024-04-30 09:05:16 -04:00
Kitware Robot
f56eb6fa88 CMake Nightly Date Stamp 2024-04-30 00:01:21 -04:00
Brad King
ddb9442f48 GenEx: Fix TARGET_PROPERTY evaluation of transitive link properties
In commit bbba701899 (Link properties: must be transitive over private
dependency on static library, 2019-12-06, v3.17.0-rc1~323^2) and
commit af9d4f24ae (Link properties: must be transitive over private
dependency on static library, 2019-12-11, v3.17.0-rc1~305^2) we
neglected to implement CMP0099 NEW behavior for `TARGET_PROPERTY`
evaluation.  Add policy CMP0166 to fix this.
2024-04-29 17:40:03 -04:00
Brad King
862b8e28ad GenEx: Teach TARGET_PROPERTY evaluation to optionally pierce LINK_ONLY 2024-04-29 17:40:03 -04:00
Brad King
7d3d728a72 Help: Clarify CMP0099 documentation and summary text 2024-04-29 17:40:03 -04:00
Brad King
79a3ae9a0d cmGeneratorExpressionDAGChecker: Simplify transitive property table
Refactor the table of builtin transitive properties to avoid
preprocessor-generated cascading-if blocks with duplicate code.
2024-04-29 17:39:12 -04:00
Brad King
e8010b67c7 cmGeneratorExpressionDAGChecker: Make local generator available in constructor
This is the local generator in the evaluation context, not that of
the current target/property pair.
2024-04-29 17:27:35 -04:00
Brad King
b36fb3f6f1 cmGeneratorExpressionNode: Remove outdated lint suppression
Since commit 895efd4e7a (cmGeneratorExpression: Consolidate
recognition of transitive properties, 2024-04-12) a lint suppression
added by commit fb461cacba (silence selected clang-tidy violations,
2016-10-18, v3.8.0-rc1~428^2~1) is no longer needed.
2024-04-29 17:27:34 -04:00
Ben Boeckel
4452d41488 cmGeneratorTarget: add method to get a filesystem-safe export name
C++ module support puts the export name in a filename. Export names with
`:` in them are not valid filenames on Windows. Add a method to escape
names as necessary.

See: #25828
2024-04-29 17:23:08 -04:00
Kitware Robot
781e25a35b CMake Nightly Date Stamp 2024-04-29 00:04:30 -04:00
Craig Scott
bd8b38627f Merge topic 'doc-cmp0135-fetchcontent'
9b61a7147d Help: CMP0135 applies to FetchContent as well

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9470
2024-04-28 04:19:40 -04:00
Kitware Robot
3390cd47b6 CMake Nightly Date Stamp 2024-04-28 00:01:14 -04:00
Kitware Robot
5838935d84 CMake Nightly Date Stamp 2024-04-27 00:01:12 -04:00
Craig Scott
9b61a7147d Help: CMP0135 applies to FetchContent as well
This updates the CMP0135 documentation, which should have been
done as part of c2044fdf3f (FetchContent: Respect the CMP0135 policy
setting, 2022-06-02).

Issue: #23560
2024-04-27 11:01:45 +10:00
Ben Boeckel
2041f7c9bf cmGeneratorTarget: add the original target as a COMPILE_ONLY link
Fixes: #25909
2024-04-26 20:15:05 -04:00
Kitware Robot
301a26741d CMake Nightly Date Stamp 2024-04-26 00:01:17 -04:00
Brad King
e8f9b6ee43 Merge topic 'test-dir-preset'
c971212703 ctest: Allow --test-dir override when using presets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !9448
2024-04-25 10:40:26 -04:00
Brad King
063e050f75 Merge topic 'cpack-temp-var'
60f5118c7b cmCPackGenerator: Handle CPACK_TEMPORARY_[INSTALL]_DIRECTORY properly

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9455
2024-04-25 10:38:10 -04:00
Brad King
3956ce1d97 Merge topic 'elf.errMsg'
9517ab36e1 cmELF: correct error message from GetDynamicSectionString

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9458
2024-04-25 10:32:14 -04:00
Joachim Wuttke (h)
9517ab36e1 cmELF: correct error message from GetDynamicSectionString
Fixes: #25929
2024-04-25 10:30:08 -04:00
Kitware Robot
4c0117bf1d CMake Nightly Date Stamp 2024-04-25 00:01:18 -04:00
castro-ma
c971212703 ctest: Allow --test-dir override when using presets
Fixes: #23982
2024-04-24 16:45:29 -04:00
Brad King
145418f7fd Merge topic 'ninja-swift-verbosity'
c5ef7fac23 Swift/Ninja: Add description to Swift object build steps

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9451
2024-04-24 09:10:58 -04:00
Brad King
3e26050a3b Merge topic 'xcode-default-file-type'
3071660247 Xcode: Use builtin "default" file type

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9446
2024-04-24 08:55:32 -04:00
Deniz Bahadir
60f5118c7b cmCPackGenerator: Handle CPACK_TEMPORARY_[INSTALL]_DIRECTORY properly
The variable `CPACK_TEMPORARY_DIRECTORY` is an internal variable that is
required for proper packaging. Historically, a second variable
`CPACK_TEMPORARY_INSTALL_DIRECTORY` existed as well which had the same
purpose. Both variables had to be set to the same value. Otherwise,
CPack would not succeed with packaging.
In order to ease CPack's usage, the variable
`CPACK_TEMPORARY_INSTALL_DIRECTORY` is now no longer used.

However, as it cannot be guaranteed that neither of these two (internal)
variables have been used in the wild, some mechanism was introduced to
preserve backwards-compatibility: If one of these variables is set, the
other variable will be set to the same value. If, however, both are set
to different values, CPack still fails but with an explicit
error-message.

Fixes: #25046
2024-04-24 11:08:32 +02:00
Kitware Robot
30fd6df0b1 CMake Nightly Date Stamp 2024-04-24 00:01:15 -04:00