Commit Graph

33235 Commits

Author SHA1 Message Date
Brad King
e558beeef6 Merge topic 'build-local-interface-genex'
38cbf5e15b Genex: Add $<BUILD_LOCAL_INTERFACE:...> genex
37b5c78688 cmGeneratorExpression: Refactor stripExportInterface() to use enum class

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7919
2022-11-18 09:27:35 -05:00
Brad King
1cc936f314 Merge topic 'genex-TARGET_PROPERTY-scope'
8437141b53 Genex: Fix TARGET_PROPERTY lookup scope in transitive usage requirements

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !7928
2022-11-18 09:25:43 -05:00
Kitware Robot
ee7479fb5a CMake Nightly Date Stamp 2022-11-18 00:01:09 -05:00
Kyle Edwards
38cbf5e15b Genex: Add $<BUILD_LOCAL_INTERFACE:...> genex
Fixes: #23209
2022-11-17 09:31:27 -05:00
Kyle Edwards
37b5c78688 cmGeneratorExpression: Refactor stripExportInterface() to use enum class 2022-11-17 09:31:27 -05:00
Brad King
c5a945dce8 Merge topic 'vs-build-parallel'
48db261e69 cmake --build: Use both inter- and intra-project parallelism with msbuild

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7926
2022-11-17 08:15:54 -05:00
Brad King
14cf3b1039 Merge topic 'file-archive-zstd-compression-level'
ed519b1cba file(ARCHIVE_CREATE): Allow higher compression level for Zstd

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7924
2022-11-17 08:15:04 -05:00
Brad King
8437141b53 Genex: Fix TARGET_PROPERTY lookup scope in transitive usage requirements
When `$<TARGET_PROPERTY:tgt,prop>` is used in an `INTERFACE_*` target
property for usage requirements, it may be evaluated in the context of a
dependent target in another directory.  Look up the `tgt` name in the
directory of the target whose property holds the expression so that
imported targets isolated to that directory are visible.

Fixes: #24163
2022-11-17 07:57:21 -05:00
Kitware Robot
148be2e2f2 CMake Nightly Date Stamp 2022-11-17 00:01:10 -05:00
Brad King
48db261e69 cmake --build: Use both inter- and intra-project parallelism with msbuild
Since commit 1ab3881ec9 (cmake: Add options for parallel builds to
--build mode, 2018-04-14, v3.12.0-rc1~42^2), `cmake --build --parallel`
has added two options to the msbuild command line:

* `/m` enables inter-project parallelism in msbuild.
* `/p:CL_MPCount=1` suppresses intra-project parallelism in cl.

The latter was used to avoid `O(N^2)` compilation threads on `N`
processors.  In practice however, projects often have many source files
in a few targets, so `--parallel` actually reduces parallelism.

Drop the latter option to restore intra-project parallelism.
Users can always add `-- /p:CL_MPCount=1` themselves.

Fixes: #20564
2022-11-16 09:38:41 -05:00
Brad King
48d52c2cfe Merge topic 'file-copy-error-path'
89b144789d file(COPY_FILE): Report if failure occurred on input or output path
91dd7898ee Merge branch 'upstream-KWSys' into file-copy-error-path
a9c659b1b6 KWSys 2022-11-15 (6c92b9b0)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !7916
2022-11-16 09:36:29 -05:00
Amir Masoud Abdol
ed519b1cba file(ARCHIVE_CREATE): Allow higher compression level for Zstd
This allows the Zstd compression-level to be set between 0-19.  I've
adjusted some of the tests, and error messages to indicates the selected
algorithm, and min/max of its compression-level.

Fixes: #24160
2022-11-16 09:15:01 -05:00
Brad King
b686b58208 Merge topic 'cmp0141-pch-reuse'
94164ea55e CMP0141: Fix PCH REUSE_FROM when MSVC_DEBUG_INFORMATION_FORMAT is empty

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7914
2022-11-16 08:57:04 -05:00
Kitware Robot
b7ab39bf59 CMake Nightly Date Stamp 2022-11-16 00:01:11 -05:00
Brad King
89b144789d file(COPY_FILE): Report if failure occurred on input or output path
When we know whether a failure was associated with the input or the
output path, include this information in the error message.
2022-11-15 09:28:45 -05:00
Brad King
91dd7898ee Merge branch 'upstream-KWSys' into file-copy-error-path
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2022-11-15 (6c92b9b0)
2022-11-15 09:28:34 -05:00
Brad King
eda68d229d Merge topic 'cmake-E-copy-t-mode'
8d9069e5b6 cmake -E copy: Add support for -t argument

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7913
2022-11-15 09:14:07 -05:00
Brad King
6f9544736a Merge topic 'better_handling_of_build_args'
01611f8258 cmake: --build improve detection of no build dir

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7908
2022-11-15 08:55:19 -05:00
Brad King
82e49021fe Merge topic 'top-level-command-order'
59573bf5b9 project: Warn at top-level if `cmake_minimum_required` wasn't called
23f3dd9f7c RunCMake/project: Ignore exact line number in stderr checks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7902
2022-11-15 08:51:20 -05:00
Kyle Edwards
8d9069e5b6 cmake -E copy: Add support for -t argument
Fixes: #23543
2022-11-15 07:47:07 -05:00
Brad King
94164ea55e CMP0141: Fix PCH REUSE_FROM when MSVC_DEBUG_INFORMATION_FORMAT is empty
Under the policy's NEW behavior, `[CMAKE_]MSVC_DEBUG_INFORMATION_FORMAT`
may be explicitly set to an empty string to tell CMake not to add any
flags for this abstraction.  In this case, fall back to checking the
language-wide flags as we do in the OLD behavior.

This revises commit 183b9a9eca (CMP0141: Fix PCH REUSE_FROM under policy
NEW behavior, 2022-10-31, v3.25.0-rc3~4^2).

Issue: #24106
2022-11-15 06:57:02 -05:00
Kitware Robot
0cb0be5920 CMake Nightly Date Stamp 2022-11-15 00:01:09 -05:00
Robert Maynard
01611f8258 cmake: --build improve detection of no build dir
Fixes #24157
2022-11-14 10:46:17 -05:00
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
friendlyanon
59573bf5b9 project: Warn at top-level if cmake_minimum_required wasn't called
The top-level project() call will now issue an AUTHOR_WARNING if it
wasn't called after cmake_minimum_required().

Fixes: #24071
2022-11-11 22:49:36 +01: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