Commit Graph

33211 Commits

Author SHA1 Message Date
Brad King
0e2a73fefd Merge topic 'profile-genex'
4d70a94545 Profiling: Profile genex evaluation
09d7f947d6 cmGeneratorExpression: Require cmake instance
553794e987 cmake::CreateProfilingEntry: Refactor to take lambda for args

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: alcroito <alexandru.croitor@qt.io>
Merge-request: !7898
2022-11-14 10:25:01 -05:00
Brad King
38c8866dd1 Merge topic 'msvc-19.34-cpp-modules'
0e9782b336 msvc: bless MSVC 19.34 support for C++ modules as experimental

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7745
2022-11-14 10:18:21 -05:00
Kitware Robot
f3d2e3f95d CMake Nightly Date Stamp 2022-11-14 00:01:22 -05:00
Kitware Robot
168b82e68b CMake Nightly Date Stamp 2022-11-13 00:01:08 -05:00
Kitware Robot
2b99ae0324 CMake Nightly Date Stamp 2022-11-12 00:01:11 -05:00
Ben Boeckel
0e9782b336 msvc: bless MSVC 19.34 support for C++ modules as experimental
Visual Studio 17.4 now contains official support for what CMake needs.
2022-11-11 16:54:05 -05:00
Kyle Edwards
4d70a94545 Profiling: Profile genex evaluation 2022-11-11 12:29:41 -05:00
Kyle Edwards
09d7f947d6 cmGeneratorExpression: Require cmake instance 2022-11-11 12:29:41 -05:00
Kyle Edwards
553794e987 cmake::CreateProfilingEntry: Refactor to take lambda for args 2022-11-11 11:45:00 -05:00
Brad King
7338a69881 Merge topic 'fix-cxx20-detection'
5e7c8f44ac Ninja: Restore support for compilers not defining a C++ standard level

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Jaeden Amero <kitware@patater.com>
Acked-by: Martin Kojtal <martin.kojtal@arm.com>
Merge-request: !7896
2022-11-11 08:19:51 -05:00
Kitware Robot
e462807942 CMake Nightly Date Stamp 2022-11-11 00:01:06 -05:00
Lingkai Dong
5e7c8f44ac Ninja: Restore support for compilers not defining a C++ standard level
Since commit 386465bf83 (cmTarget: add support for C++ module fileset
types, 2022-04-08, v3.25.0-rc1~624^2~7), the Ninja generator checks for
C++20 support using logic that requires `CMAKE_<LANG>_STANDARD_DEFAULT`
to be non-empty.  On some compilers, such as ARMClang, CMake does not
automatically detect and set default language standards, thus causing
`HaveStandardAvailable` to raise an internal error.

To fix this issue, if `CMAKE_CXX_STANDARD_DEFAULT` is empty, assume all
standards to be supported instead of calling `HaveStandardAvailable`.
This is consistent with how `CompileFeaturesNode::Evaluate` handles this
case.

Fixes: #24146
2022-11-10 11:01:40 -05:00
Brad King
566064ea5e Merge topic 'better-file-download-failure-msg'
8c3cf2716a file(DOWNLOAD EXPECTED_HASH): better error message when download failed

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7888
2022-11-10 10:08:54 -05:00
Brad King
6f4cffa5b7 Merge topic 'marmasm-language'
3166547cf6 ASM_MARMASM: Add support for Microsoft ARM assembler language
ce4babb566 Tests: Fix ARM64 test conditions for non-VS generators

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7793
2022-11-10 10:02:57 -05:00
Brad King
0cb4fffae1 Merge topic 'cmake-gui-restore-version-info'
ec76a9c22f cmake-gui: Restore embedded version information in Windows binary

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7895
2022-11-10 09:59:42 -05:00
Kitware Robot
cb35d9da83 CMake Nightly Date Stamp 2022-11-10 00:01:11 -05:00
Brad King
ec76a9c22f cmake-gui: Restore embedded version information in Windows binary
Refactoring in commit 89a1e1c1be (Build: Link w/ `OBJECT` library is OK
since 3.12, 2022-08-21, v3.25.0-rc1~97^2~19) dropped the `.res` object
containing this information from the `cmake-gui` link line.  Restore it.
2022-11-09 16:54:46 -05:00
Aurelien Regat-Barrel
8c3cf2716a file(DOWNLOAD EXPECTED_HASH): better error message when download failed 2022-11-09 22:44:36 +01:00
Ilia K
3166547cf6 ASM_MARMASM: Add support for Microsoft ARM assembler language
https://learn.microsoft.com/en-us/cpp/assembler/arm/arm-assembler-reference

Fixes: #23999
2022-11-09 10:22:46 -05:00
Brad King
16cb04dbe9 Merge topic 'file-set-file-api'
b3e9fb67bb file-api: support exporting file set information

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7867
2022-11-09 09:34:40 -05:00
Kitware Robot
ef2ffed673 CMake Nightly Date Stamp 2022-11-09 00:01:10 -05:00
Brad King
9758dbd9d4 Merge topic 'use_folders_on_by_default'
d3acd22380 USE_FOLDERS: Treat as on by default

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Amir Masoud Abdol <amirmasoudabdol@icloud.com>
Merge-request: !7830
2022-11-08 14:28:21 -05:00
Brad King
30c42dbbad CMake 3.25.0-rc4 2022-11-08 13:20:19 -05:00
Ben Boeckel
b3e9fb67bb file-api: support exporting file set information
This includes listing the filesets themselves as well as which file set
(if any) each source file is associated with.

Fixes: #24128
2022-11-08 10:07:10 -05:00
Juan Ramos
d3acd22380 USE_FOLDERS: Treat as on by default
Add a policy to treat the `USE_FOLDERS` global property as ON by default
if it is not set.

Fixes: #21695
2022-11-08 09:32:18 -05:00
Brad King
6c48f5dbc0 Merge topic 'ctest_configure-S-B'
8a16a727f8 ctest_config: pass -S, -B args for log clarity

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7870
2022-11-08 09:05:27 -05:00
Brad King
eee0c6ec0d Merge topic 'block-var-scope'
96ddcbee60 cmState: Clarify name of member tracking the active scope in a directory
cb53d9309e block: Fix variable scope protection from modification by subdirectories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7885
2022-11-08 09:00:14 -05:00
Kitware Robot
16ebae1c23 CMake Nightly Date Stamp 2022-11-08 00:01:09 -05:00
Brad King
96ddcbee60 cmState: Clarify name of member tracking the active scope in a directory
The `DirectoryEnd` member added by commit 52dbe654de (cmState: Record
the end position of each directory., 2015-08-01, v3.4.0-rc1~251^2~1)
actually tracks the current top-most scope in a directory's stack.  This
is evidenced by the use case in commit 3f4e5e8c3d (cmState: Return end
snapshot for GetBuildsystemDirectoryParent., 2015-09-01,
v3.4.0-rc1~100^2~1).  Rename the member to `CurrentScope` to clarify
this role.
2022-11-07 14:36:46 -05:00
Brad King
cb53d9309e block: Fix variable scope protection from modification by subdirectories
When `cmStateSnapshot::RaiseScope` raises a variable in to a parent
directory scope, it uses `GetBuildsystemDirectoryParent` to find the
current top-most scope on the directory's stack.  Since commit 3f4e5e8c3d
(cmState: Return end snapshot for GetBuildsystemDirectoryParent.,
2015-09-01, v3.4.0-rc1~100^2~1), that depends on the `DirectoryEnd`
field in the directory's state.  However, when variable-only scopes were
added by commit 6954c8936f (cmState: Add a VariableScope snapshot type.,
2015-08-01, v3.4.0-rc1~179^2~1), we neglected to account for the
addition of that field by commit 52dbe654de (cmState: Record the end
position of each directory., 2015-08-01, v3.4.0-rc1~251^2~1).

Prior to commit 44a2f3f332 (Add new flow-control commands for variables
and policies scopes management, 2022-08-05, v3.25.0-rc1~257^2) this
problem went unnoticed because there was no way to have a variable scope
at the top of a directory's stack while processing a subdirectory. Now
the `block()/endblock()` commands enable the behavior, so fix tracking
of a variable scope as the top-most scope in a directory.

Fixes: #24138
2022-11-07 14:24:24 -05:00
Brad King
0c71f3c943 Merge topic 'update-kwsys'
0d35f598d9 Merge branch 'upstream-KWSys' into update-kwsys
ee9c09548c KWSys 2022-11-06 (9aebb97f)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7871
2022-11-07 08:58:10 -05:00
Brad King
e232e1bed3 Merge topic 'clang-tidy-module-cmsys-fstream-check'
ffa970559c clang-tidy module: add tests for cmsys::fstream check
d520853682 clang-tidy module: add check for cmsys::fstream
c67b91a7a6 Source: silence false positives for cmsys::fstream check
01d8308406 Tests: remove stderr from clang-tidy module tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7869
2022-11-07 08:53:45 -05:00
Kitware Robot
322eed615c CMake Nightly Date Stamp 2022-11-07 00:01:16 -05:00
Brad King
0d35f598d9 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2022-11-06 (9aebb97f)
2022-11-06 08:33:10 -05:00
Kitware Robot
890d447923 CMake Nightly Date Stamp 2022-11-06 00:01:05 -04:00
Kitware Robot
7988cb25c1 CMake Nightly Date Stamp 2022-11-05 00:01:09 -04:00
Michael Hirsch
8a16a727f8 ctest_config: pass -S, -B args for log clarity
Fixes: #24135
2022-11-04 15:32:15 -04:00
Kyle Edwards
c67b91a7a6 Source: silence false positives for cmsys::fstream check 2022-11-04 11:28:19 -04:00
Brad King
dd8065fdda Merge topic 'vs-default-toolset'
c50df859c5 VS: Restore support for two-part default toolset version

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7864
2022-11-04 11:27:00 -04:00
Kitware Robot
182ef53d3d CMake Nightly Date Stamp 2022-11-04 00:01:05 -04:00
Brad King
c50df859c5 VS: Restore support for two-part default toolset version
Since commit f972e4fd3a (cmVSGenerator: Add support for two-part toolset
versions for Visual Studio, 2022-09-01, v3.25.0-rc1~180^2), if a
two-part toolset version is requested, we fail early if globbing finds
no auxiliary toolsets with that version.  This broke our existing
support for detecting when the default toolset matches the two-part
version requested.  Fix the logic to ignore the two-part globbing
results if they are empty so we fall through to checking the default
version.

Fixes: #24107
2022-11-03 11:39:30 -04:00
Brad King
55ef776a62 Merge topic 'xcode-swift-include-dirs'
cb4e6702b2 Xcode: Implement Swift include directories
e1ccab12d7 Xcode: Restore Swift framework search directories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7858
2022-11-03 08:14:15 -04:00
Kitware Robot
260cb58450 CMake Nightly Date Stamp 2022-11-03 00:01:08 -04:00
Brad King
cb4e6702b2 Xcode: Implement Swift include directories
Populate Xcode's `SWIFT_INCLUDE_PATHS` build setting with the
target-wide include directories.

Issue: #24116
2022-11-02 17:03:21 -04:00
Brad King
e1ccab12d7 Xcode: Restore Swift framework search directories
Previously we selected a single "language for preprocessor" with which
to compute both target-wide `GCC_PREPROCESSOR_DEFINITIONS` and
`{HEADER,FRAMEWORK}_SEARCH_PATHS`.  Since commit c0dd3dd2c1 (Xcode:
Evaluate Swift compile definitions separately, 2022-10-25,
v3.25.0-rc3~16^2) we never compute `GCC_PREPROCESSOR_DEFINITIONS` for
Swift.  Therefore we need to select the language for target-wide include
and framework directories separately.

Fixes: #24116
2022-11-02 16:57:36 -04:00
Kitware Robot
22188cb940 CMake Nightly Date Stamp 2022-11-02 00:01:06 -04:00
Brad King
b45f9b3643 CMake 3.25.0-rc3 2022-11-01 13:10:48 -04:00
Brad King
a9d5a0bf4b Merge topic 'compile-commands-output-field'
887a8874c3 EXPORT_COMPILE_COMMANDS: add `output` field

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7844
2022-11-01 09:02:15 -04:00
Brad King
3f5d8562df Merge topic 'cmp0141-pch-reuse'
183b9a9eca CMP0141: Fix PCH REUSE_FROM under policy NEW behavior
4d13f472a2 Tests: Drop redundant project init from RunCMake.PrecompileHeaders cases
2e65fe92db cmLocalGenerator: Clarify name of local PDB type variable
17096aeba8 cmLocalGenerator: Factor out helper to compute MSVC_DEBUG_INFORMATION_FORMAT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7854
2022-11-01 08:53:51 -04:00
Kitware Robot
eaaccaa230 CMake Nightly Date Stamp 2022-11-01 00:01:06 -04:00