Commit Graph

54022 Commits

Author SHA1 Message Date
Craig Scott
4e5d871e74 Merge topic 'doc-cleanups-3.21'
8d1944c675 Help: Expand details for file(COPY_FILE)
c8ea886123 Help: Re-order file() sub-commands in Filesystem section
b5a96716eb Help: Clarify which project() call PROJECT_IS_TOP_LEVEL is for
8be7694d97 Help: Fix trivial typo

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6361
2021-07-20 07:54:58 -04:00
Kitware Robot
6521cededd CMake Nightly Date Stamp 2021-07-20 00:01:10 -04:00
Craig Scott
8d1944c675 Help: Expand details for file(COPY_FILE) 2021-07-20 08:49:04 +10:00
Craig Scott
c8ea886123 Help: Re-order file() sub-commands in Filesystem section
The file(COPY_FILE) sub-command is closely related to the
file(COPY) sub-command. Move the former to just before the
latter for improved continuity. The file(RENAME) sub-command is
also somewhat related to file(COPY_FILE), so it was also moved to
keep it just before file(COPY_FILE).

The file(MAKE_DIRECTORY) sub-command was also moved to just
before the file(REMOVE) and file(REMOVE_RECURSE) sub-commands
to keep them together and improve logical flow of operations.
2021-07-20 08:39:34 +10:00
Brad King
7bfefcc1f8 Merge branch 'release-3.21' 2021-07-19 12:59:01 -04:00
Brad King
a9900c8364 Merge topic 'cmake-presets-no-binary-dir-no-s'
aa874dc609 CMakePresets.json: Fix expansion issue with empty binaryDir

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6358
2021-07-19 12:59:01 -04:00
Brad King
4ff651eb52 Merge topic 'cmake-presets-no-binary-dir-no-s' into release-3.21
aa874dc609 CMakePresets.json: Fix expansion issue with empty binaryDir

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6358
2021-07-19 12:59:01 -04:00
Brad King
749e1473eb Merge branch 'release-3.21' 2021-07-19 12:50:58 -04:00
Brad King
8802d8f8e4 Merge topic 'enable_language-CMP0126'
3ddd7f3576 enable_language: Fix test for working compiler with CMP0126 NEW behavior

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6355
2021-07-19 12:50:58 -04:00
Brad King
095f49ec36 Merge topic 'enable_language-CMP0126' into release-3.21
3ddd7f3576 enable_language: Fix test for working compiler with CMP0126 NEW behavior

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6355
2021-07-19 12:50:57 -04:00
Brad King
2579e7c1f3 Merge branch 'release-3.21' 2021-07-19 12:48:40 -04:00
Brad King
38ad30c063 Merge topic 'libuv-mingw-arm' into release-3.21
1aba3a8367 libuv: Fix building with mingw toolchains for ARM/AArch64

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6354
2021-07-19 12:48:40 -04:00
Brad King
7d1f353a6f Merge topic 'libuv-mingw-arm'
1aba3a8367 libuv: Fix building with mingw toolchains for ARM/AArch64

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6354
2021-07-19 12:48:40 -04:00
Brad King
9484e43731 Merge topic 'TestDriver-time.h-lint' into release-3.21
0bb3d457cb TestDriver: use `CM_NULL` to avoid lints about `nullptr` usage
32ff836e2a TestDriver: suppress deprecated header lints for time.h

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6352
2021-07-19 12:47:21 -04:00
Brad King
04b74f8eda Merge branch 'release-3.21' 2021-07-19 12:47:21 -04:00
Brad King
d86debe20a Merge topic 'TestDriver-time.h-lint'
0bb3d457cb TestDriver: use `CM_NULL` to avoid lints about `nullptr` usage
32ff836e2a TestDriver: suppress deprecated header lints for time.h

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6352
2021-07-19 12:47:21 -04:00
Brad King
5966b95881 Merge branch 'release-3.21' 2021-07-19 12:46:14 -04:00
Brad King
1f1f952e46 Merge topic 'Help-ctest_memcheck-shared-args'
85e740312f Help/ctest_test: add a comment to also update `ctest_memcheck`
731cfd45fd Help/ctest_memcheck: mention `ctest_test` arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6351
2021-07-19 12:46:14 -04:00
Brad King
6004b997b0 Merge topic 'Help-ctest_memcheck-shared-args' into release-3.21
85e740312f Help/ctest_test: add a comment to also update `ctest_memcheck`
731cfd45fd Help/ctest_memcheck: mention `ctest_test` arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6351
2021-07-19 12:46:13 -04:00
Ben Boeckel
85e740312f Help/ctest_test: add a comment to also update ctest_memcheck
Since these commands share a common argument parser, the documentation
should be kept synchronized.
2021-07-19 12:45:17 -04:00
Brad King
f4b97b43a4 Merge branch 'release-3.21' 2021-07-19 12:41:20 -04:00
Brad King
1f6e1a2d78 Merge topic 'vs2022'
0c7f918fb1 VS: Update Visual Studio 17 2022 generator for Preview 2
1ac1436b25 VS: Fix `/sourceDependencies` flag table entries for v143
919fc7fd5f VS: Remove broken EnableASAN entry from flag table for v143
3f19847b28 VS: Remove empty ExternalWarningLevel entry from flag table for v143
ccb6083cbe VS: Remove empty LanguageStandard entries from flag table for v143
c167de7e70 VS: Remove empty ConformanceMode entry from flag table for v143
993d706a17 VS: Populate `/JMC-` flag table entry for v143
a070d87e08 VS: Populate `-Qspectre-` flag table entry for v143
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Egor Pugin <egor.pugin@gmail.com>
Merge-request: !6350
2021-07-19 12:41:20 -04:00
Brad King
292f336c50 Merge topic 'vs2022' into release-3.21
0c7f918fb1 VS: Update Visual Studio 17 2022 generator for Preview 2
1ac1436b25 VS: Fix `/sourceDependencies` flag table entries for v143
919fc7fd5f VS: Remove broken EnableASAN entry from flag table for v143
3f19847b28 VS: Remove empty ExternalWarningLevel entry from flag table for v143
ccb6083cbe VS: Remove empty LanguageStandard entries from flag table for v143
c167de7e70 VS: Remove empty ConformanceMode entry from flag table for v143
993d706a17 VS: Populate `/JMC-` flag table entry for v143
a070d87e08 VS: Populate `-Qspectre-` flag table entry for v143
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Egor Pugin <egor.pugin@gmail.com>
Merge-request: !6350
2021-07-19 12:41:19 -04:00
Kitware Robot
fabbb69e69 CMake Nightly Date Stamp 2021-07-19 00:01:13 -04:00
Craig Scott
b5a96716eb Help: Clarify which project() call PROJECT_IS_TOP_LEVEL is for 2021-07-18 16:45:20 +10:00
Craig Scott
8be7694d97 Help: Fix trivial typo 2021-07-18 15:57:06 +10:00
Kitware Robot
0094d12ead CMake Nightly Date Stamp 2021-07-18 00:01:07 -04:00
Kitware Robot
7f7e7485f3 CMake Nightly Date Stamp 2021-07-17 00:01:10 -04:00
Kyle Edwards
aa874dc609 CMakePresets.json: Fix expansion issue with empty binaryDir
When resolving binaryDir into a full path from a relative path, we
forgot to check if binaryDir is altogether empty, causing empty
binaryDir's to resolve to the source directory. Fix this.

Fixes: #22434
2021-07-16 10:25:40 -04:00
Kitware Robot
4e17e90988 CMake Nightly Date Stamp 2021-07-16 00:01:08 -04:00
Brad King
0c7f918fb1 VS: Update Visual Studio 17 2022 generator for Preview 2
In particular, update to toolset `v143`.

Fixes: #22339
2021-07-15 13:12:55 -04:00
Brad King
1ac1436b25 VS: Fix /sourceDependencies flag table entries for v143
Revise the `/sourceDependencies[:directives]` table entries to properly
distinguish the two options (because one is a prefix of the other), and
to populate both `Generate*Dependencies` and `*DependenciesFile`.

This is the manual update mentioned in commit 887e9df0c7 (VS: Update
v142 CL flag table for VS 16.10, 2021-06-04, v3.21.0-rc1~77^2).
2021-07-15 13:12:55 -04:00
Brad King
919fc7fd5f VS: Remove broken EnableASAN entry from flag table for v143
Apply the change from commit 7fce2d372e (VS: Revert "Add support for
ASAN -fsanitize=address flag", 2021-04-26, v3.21.0-rc1~270^2) to the
v143 flag table.

Issue: #21081
2021-07-15 13:12:55 -04:00
Brad King
3f19847b28 VS: Remove empty ExternalWarningLevel entry from flag table for v143 2021-07-15 13:12:54 -04:00
Brad King
ccb6083cbe VS: Remove empty LanguageStandard entries from flag table for v143 2021-07-15 13:12:54 -04:00
Brad King
c167de7e70 VS: Remove empty ConformanceMode entry from flag table for v143 2021-07-15 13:12:54 -04:00
Brad King
993d706a17 VS: Populate /JMC- flag table entry for v143
Apply the change from commit 049410c0b6 (VS: Populate `/JMC-` flag table
entry for v142, 2019-01-24, v3.14.0-rc1~74^2~6) to the v143 flag table.
2021-07-15 13:12:54 -04:00
Brad King
a070d87e08 VS: Populate -Qspectre- flag table entry for v143
Apply the change from commit 43aa632f57 (VS: Populate `-Qspectre-` flag
table entry for v142, 2019-01-24, v3.14.0-rc1~74^2~7) to the v143 flag
table.  Sort the longer options before the shorter ones.  Remove the
default variant with an empty switch.
2021-07-15 13:12:54 -04:00
Brad King
3322bb7081 VS: Populate /Y- flag table entry for v143
Apply the change from commit 460a146e2b (VS: Populate `/Y-` flag table
entry for v142, 2019-01-24, v3.14.0-rc1~74^2~8) to the v143 flag table.
2021-07-15 13:12:54 -04:00
Brad King
cccef3c5b4 VS: Add -Zc:inline[-] flag table entry for v143
Apply the change from commit 0df3790371 (VS: Add `-Zc:inline[-]` flag
table entry for v142, 2019-01-24, v3.14.0-rc1~74^2~9) to the v143 flag
table.
2021-07-15 13:12:54 -04:00
Brad King
2d64b01223 VS: Fix /analyze:log flag mapping for v143
Apply the change from commit fb2e418c64 (VS: Fix `/analyze:log` flag
mapping for v142, 2019-01-24, v3.14.0-rc1~74^2~10) to the v143 flag
table.
2021-07-15 13:12:54 -04:00
Brad King
b933584a72 VS: Remove the /MERGE flag from v143 link flag table
Apply the change from commit a9f992434d (VS: Remove the /MERGE flag from
FlagTables, 2021-06-08, v3.21.0-rc1~58^2) to the v143 flag table.
2021-07-15 13:12:54 -04:00
Brad King
d3175a6079 VS: Map the link /debug flag for v143
Apply the changes from commit 533f95c847 (VS: Map the link `/debug` flag
for v142, 2019-01-24, v3.14.0-rc1~74^2~3) to the v143 flag table.
2021-07-15 13:12:53 -04:00
Brad King
9e10045552 VS: Fix /MANIFESTUAC: link flag mapping for v143
Apply the changes from commit d2fcc6748a (VS: Fix `/MANIFESTUAC:NO` link
flag mapping for v142, 2019-01-24, v3.14.0-rc1~74^2~4) and commit
fd45cbf40e (VS: Fix `/MANIFESTUAC:` link flag mapping for v142,
2019-01-24, v3.14.0-rc1~74^2~1) to the v143 flag table.
2021-07-15 13:12:53 -04:00
Brad King
c152d08c52 VS: Add v143 flag tables for VS 17.0 Preview 2
Run the commands

    python3 Source/cmConvertMSBuildXMLToJSON.py -t v143 \
        'c:/.../2022/Preview/MSBuild/Microsoft/VC/v170/1033/cl.xml'
    python3 Source/cmConvertMSBuildXMLToJSON.py -t v143 \
        'c:/.../2022/Preview/MSBuild/Microsoft/VC/v170/1033/link.xml'

To generate `Templates/MSBuild/FlagTables/v143_{CL,Link}.json`.
We can re-use `Templates/MSBuild/FlagTables/v14_LIB.json`.
2021-07-15 13:12:53 -04:00
Brad King
7adfd890fb VS: Add CSharp VS 2022 compiler version and flag table v143
While the flag tables for C and C++ were generated from MSBuild `.xml`
files, the CSharp flag tables were written by hand.  Copy the `v142`
flag table to use for the `v143` toolset.
2021-07-15 13:12:07 -04:00
Brad King
63c1262375 VS: Improve v142 CL flag table LanguageStandard ordering 2021-07-15 13:12:06 -04:00
Brad King
b8d6a21e48 VS: Recognize CSharp VS 2019 compiler version v142 2021-07-15 13:11:41 -04:00
Brad King
3ddd7f3576 enable_language: Fix test for working compiler with CMP0126 NEW behavior
Update the logic that converts a `try_compile` result from a cache
entry to a normal variable to tolerate an existing normal variable
under CMP0126 NEW behavior.  Otherwise the `try_compile` result
is ignored because CMake uses the false value of the normal variable,
and CMake incorrectly reports that the compiler does not work.

This went unnoticed for some languages (e.g. C and CXX) because the
check for a working compiler is skipped if ABI detection works.
It does affect other languages (e.g. CSharp).

Fixes: #22423
2021-07-15 13:06:18 -04:00
Martin Storsjö
1aba3a8367 libuv: Fix building with mingw toolchains for ARM/AArch64
This is a backport of f9ad802fa5dd5afe6730f8e00cfdbf98f1d7a969
from the v1.x branch from upstream libuv:

    mingw: fix building for ARM/AArch64

    Don't use x86 inline assembly in these cases, but fall back to
    __sync_fetch_and_or, similar to _InterlockedOr8 in the MSVC case.

    This corresponds to what is done in src/unix/atomic-ops.h, where
    ARM/AArch64 cases end up implementing cmpxchgi with
    __sync_val_compare_and_swap.

    PR-URL: https://github.com/libuv/libuv/pull/3236
    Reviewed-By: Jameson Nash <vtjnash@gmail.com>
2021-07-15 10:59:07 -04:00