Commit Graph

53629 Commits

Author SHA1 Message Date
Brad King be78a9bf68 Merge topic 'vs2022'
93c718791e VS: Use 64-bit MSBuild in VS 2022
c46b265839 VS: Add Visual Studio 17 2022 generator
b610b7a35c VS: Update v142 CL flag table for VS 17.0 Preview 1
43375c6418 Help: Remove unnecessary Sphinx versionadded markup in VS toolset selection

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6268
2021-06-28 09:22:38 -04:00
Brad King 0b5e08b9b0 Merge branch 'release-3.21' 2021-06-28 09:21:16 -04:00
Brad King 18881f755b Merge topic 'test-RunCMake.GenEx-names'
a95cbf3890 Tests: Shorten RunCMake.GenEx-* case names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6269
2021-06-28 09:21:16 -04:00
Brad King 5b44b7eee3 Merge topic 'test-RunCMake.GenEx-names' into release-3.21
a95cbf3890 Tests: Shorten RunCMake.GenEx-* case names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6269
2021-06-28 09:21:16 -04:00
Brad King 359bba76f5 Merge branch 'release-3.21' 2021-06-28 09:20:10 -04:00
Brad King 9da3dea754 Merge topic 'ninja-lwyu-flag-order' into release-3.21
d7159f9591 Ninja: Fix LINK_WHAT_YOU_USE link flag placement

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6263
2021-06-28 09:20:10 -04:00
Brad King 0adcdd2e00 Merge topic 'ninja-lwyu-flag-order'
d7159f9591 Ninja: Fix LINK_WHAT_YOU_USE link flag placement

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6263
2021-06-28 09:20:10 -04:00
Brad King dfde4eda11 Merge branch 'release-3.21' 2021-06-28 09:19:07 -04:00
Brad King 5430379ee6 Merge topic 'yasm-no-deps' into release-3.21
f03d54bfc1 ASM_NASM: Do not generate depfiles with YASM

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6265
2021-06-28 09:19:06 -04:00
Brad King 78908c3527 Merge topic 'yasm-no-deps'
f03d54bfc1 ASM_NASM: Do not generate depfiles with YASM

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6265
2021-06-28 09:19:06 -04:00
Kitware Robot 25d7cd9671 CMake Nightly Date Stamp 2021-06-28 00:01:16 -04:00
Kitware Robot 66a0f46f9f CMake Nightly Date Stamp 2021-06-27 00:01:07 -04:00
Kitware Robot cd809b8ea4 CMake Nightly Date Stamp 2021-06-26 00:01:09 -04:00
Brad King 93c718791e VS: Use 64-bit MSBuild in VS 2022
Visual Studio 17 2022 is now a 64-bit native application.  It places the
64-bit `MSBuild.exe` in the `PATH` of VS command prompts, so prefer it
for this version and above.

This was previously attempted for older VS versions, but reverted by
commit f3cedf381e (VS: Revert "Use MSBuild matching toolset host
architecture", 2019-03-12, v3.14.0~1^2).  For now, do not use the 64-bit
MSBuild for VS 16 and below.

Fixes: #18219
2021-06-25 12:45:53 -04:00
Brad King c46b265839 VS: Add Visual Studio 17 2022 generator
Fixes: #22339
2021-06-25 12:45:44 -04:00
Brad King a95cbf3890 Tests: Shorten RunCMake.GenEx-* case names
Reduce the length of the longest path on disk needed by the tests.
2021-06-25 11:29:46 -04:00
Brad King b610b7a35c VS: Update v142 CL flag table for VS 17.0 Preview 1
Run the command

    python3 Source/cmConvertMSBuildXMLToJSON.py -t v142 \
        'c:/.../MSBuild/Microsoft/VC/v160/1033/cl.xml'

To generate `v142_CL.json` locally.  Manually move new and updated
settings over to `Templates/MSBuild/FlagTables/v142_CL.json`.
2021-06-25 10:07:32 -04:00
Brad King 43375c6418 Help: Remove unnecessary Sphinx versionadded markup in VS toolset selection
In a document that says "New in version 3.14", we do not need any blocks
that say "New in version 3.8".
2021-06-25 10:07:31 -04:00
Đoàn Trần Công Danh d7159f9591 Ninja: Fix LINK_WHAT_YOU_USE link flag placement
Move `-Wl,--no-as-needed` from the `<FLAGS>` placeholder to
`<LINK_FLAGS>`, as it is in the Makefile generators.

Fixes: #22342
2021-06-25 08:45:47 -04:00
Brad King a6b075c3f8 Merge topic 'import-elf'
115ff6a347 cmELF: Include the ELF parsing code unconditionally
5dfa3ddbe5 cmELF: Allow building without system ELF headers
0da1540aaa cmELF: Fix check for TagMipsRldMapRel
e21188df8b cmELF: Open file explicitly in binary mode
70cdb36d25 Merge branch 'upstream-elf' into import-elf
7a0a37ca41 elf 2021-06-23 (f13da247)
18038042ed cmelf: Add script to import the FreeBSD ELF headers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6240
2021-06-25 07:26:35 -04:00
Brad King 4a0e68266b Merge topic 'Help-UseJava-reorganization' into release-3.21
af9bd6c53f Help: UseJava reorganization

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6262
2021-06-25 07:24:46 -04:00
Brad King 5840b53a05 Merge branch 'release-3.21' 2021-06-25 07:24:46 -04:00
Brad King d9ebfc844a Merge topic 'Help-UseJava-reorganization'
af9bd6c53f Help: UseJava reorganization

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6262
2021-06-25 07:24:46 -04:00
Brad King fff5994e99 Merge topic 'fujitsu-ipo' into release-3.21
96e362fdc9 Fujitsu: Add IPO support for Fortran

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6261
2021-06-25 07:23:58 -04:00
Brad King 3e82b39698 Merge branch 'release-3.21' 2021-06-25 07:23:58 -04:00
Brad King 5840c3eab7 Merge topic 'fujitsu-ipo'
96e362fdc9 Fujitsu: Add IPO support for Fortran

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6261
2021-06-25 07:23:58 -04:00
Brad King c8e0bd8bbe Merge branch 'release-3.21' 2021-06-25 07:22:55 -04:00
Brad King 3e551ca51f Merge topic 'FindOpenMP-fujitsu'
b3bf33539b FindOpenMP: Link with OpenMP flags on Fujitsu

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6260
2021-06-25 07:22:55 -04:00
Brad King 647e33d53e Merge topic 'FindOpenMP-fujitsu' into release-3.21
b3bf33539b FindOpenMP: Link with OpenMP flags on Fujitsu

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6260
2021-06-25 07:22:54 -04:00
Gregor Jasny f03d54bfc1 ASM_NASM: Do not generate depfiles with YASM
In 3aec26660a (Merge topic 'nasm_add_deps', 2021-03-03) the
ASM_NASM language enabled the generation of GCC compatible
depfiles for NASM. Unfortunatly, those are not supported by YASM.

Fixes: #22341
2021-06-25 12:28:02 +02:00
Kitware Robot ed295f63ec CMake Nightly Date Stamp 2021-06-25 00:01:08 -04:00
Marc Chevrier af9bd6c53f Help: UseJava reorganization
Fixes: #22155
2021-06-24 11:04:01 -04:00
Alex Richardson 115ff6a347 cmELF: Include the ELF parsing code unconditionally
Now that the ELF definitions are provided on all platforms there is no
need to keep the CMake_USE_ELF_PARSER option.
2021-06-24 10:57:51 -04:00
Alex Richardson 5dfa3ddbe5 cmELF: Allow building without system ELF headers
Use ELF headers vendored in `Utilities/cmelf` to get the ELF constants
and types. Using the same ELF definition header for all compilation
targets allows removing some #ifdefs depending on the host OS since we
know all required ELF constants will always be present. To reduce the
size of this commit, the CMake_USE_ELF_PARSER definite will be removed
in a separate commit.

This allows me to use CMAKE_BUILD_WITH_INSTALL_RPATH=False and the Ninja
generator on macOS, whereas before it would always give me the following
error message (despite cross-compiling for an ELF-based platform):

```
The install of the <name> target requires changing an RPATH from
  the build tree, but this is not supported with the Ninja generator unless
  on an ELF-based platform.  The CMAKE_BUILD_WITH_INSTALL_RPATH variable may
  be set to avoid this relinking step.
```
2021-06-24 10:57:51 -04:00
Alex Richardson 0da1540aaa cmELF: Fix check for TagMipsRldMapRel
DT_MIPS_RLD_MAP_REL is a machine-speicific dynamic tag, so other
architectures could re-use the value of 0x70000035 to mean something
else.  Before using DT_MIPS_RLD_MAP_REL, we have to check that the ELF
file is actually has a e_machine of EM_MIPS.
2021-06-24 10:57:51 -04:00
Brad King e21188df8b cmELF: Open file explicitly in binary mode
ELF is a binary format.
2021-06-24 10:57:51 -04:00
Brad King 004a51e0c2 Merge topic 'fortran-compiler-intrinsics'
fe3f846e1b Makefiles: Add support for building Fortran intrinsics

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5518
2021-06-24 09:12:15 -04:00
Eisuke Kawashima b3bf33539b FindOpenMP: Link with OpenMP flags on Fujitsu
Fixes: #22332
2021-06-24 09:09:49 -04:00
Paul Zehner 96e362fdc9 Fujitsu: Add IPO support for Fortran 2021-06-24 09:02:15 -04:00
Isuru Fernando fe3f846e1b Makefiles: Add support for building Fortran intrinsics
Fixes: #21463
2021-06-24 08:39:47 -04:00
Brad King 4eaadbfd4a Merge topic 'help_source_group_tree_command'
0106842af4 Help: Clarify condition of tree command from source_group.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6258
2021-06-24 08:35:47 -04:00
Brad King 9a704fd37e Merge topic 'bootstrap-_FILE_OFFSET_BITS-64' into release-3.21
a4b6743a3b bootstrap: Compile with _FILE_OFFSET_BITS=64 on Linux

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6259
2021-06-24 08:33:57 -04:00
Brad King 9d061ff5e3 Merge branch 'release-3.21' 2021-06-24 08:33:57 -04:00
Brad King 92ff482740 Merge topic 'bootstrap-_FILE_OFFSET_BITS-64'
a4b6743a3b bootstrap: Compile with _FILE_OFFSET_BITS=64 on Linux

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6259
2021-06-24 08:33:57 -04:00
Kitware Robot 55d9199f7c CMake Nightly Date Stamp 2021-06-24 00:01:11 -04:00
Brad King 70cdb36d25 Merge branch 'upstream-elf' into import-elf
# By FreeBSD Upstream
* upstream-elf:
  elf 2021-06-23 (f13da247)
2021-06-23 13:57:38 -04:00
FreeBSD Upstream 7a0a37ca41 elf 2021-06-23 (f13da247)
Code extracted from:

    https://github.com/freebsd/freebsd-src.git

at commit f13da24715a75ce0fdac31062866877d980aa908 (main).
2021-06-23 13:57:37 -04:00
Brad King 18038042ed cmelf: Add script to import the FreeBSD ELF headers
These headers will be used to provide the ELF parsing code on all host
operating systems (including those that don't have an ELF header, e.g.
macOS).  This will also allow removing various OS-dependent #ifdefs from
the cmELF code.  Add a script that was used to automate this import.

Co-authored-by: Alex Richardson <Alexander.Richardson@cl.cam.ac.uk>
2021-06-23 13:55:54 -04:00
Brad King a4b6743a3b bootstrap: Compile with _FILE_OFFSET_BITS=64 on Linux
To avoid problems accessing filesystem, explicitly use 64-bit file
offsets in case the compilation model is 32-bit.  This change was made
for the main CMake build by commit 5b10f96793 (Linux: Compile with
_FILE_OFFSET_BITS=64 on 32-bit Linux, 2020-09-23, v3.19.0-rc1~112^2),
but conditionally on 32-bit Linux.  For bootstrap, just always add the
definition instead of trying to detect the architecture.

Fixes: #22328
2021-06-23 12:46:37 -04:00
Heiko Thiel 0106842af4 Help: Clarify condition of tree command from source_group. 2021-06-23 17:24:09 +02:00