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
In 5e941a545b (ExternalProject: Ensure git fetch if updating to hash we
don't have yet, 2021-05-09), the form ${ref}^{commit} was used to ensure
the ref was treated as a commit. When running under a MSYS2 or
Cygwin shell, the {commit} part can be translated by the shell, leaving it as
${ref}^commit, which git doesn't understand. Use the equivalent but
safer form ${ref}^0, since it won't be subject to the shell substitution
issue.
Fixes: #22299
Running `xcode -version` on an ARM box prints content to stderr:
objc[...]: Class ... is implemented in both...
One of the two will be used. Which one is undefined.
Capture and parse only stdout. Otherwise we might configure test
behavior for the wrong version of Xcode.
Extend the change from commit 9e5bbb69ea (Tutorial: Add captions for
code blocks, 2021-06-11) to also add a Sphinx named target to code
blocks. Name each target after the change the code block makes.
If a project or user sets a variable or cache entry named `C`, `CXX`,
`CUDA`, `Fortran`, `CSharp`, or `ISPC`, we were previously comparing
each enabled language name to the value of that variable, rather than
the name itself. Double-quote the string to take advantage of policy
`CMP0054`, but also add "x" prefixes to support projects that do not set
the policy.
This extends a similar fix in commit bd16a985fc (CompilerId/Features:
Tolerate variables named for languages, 2021-04-28) in more places. In
particular, ensure that we consider the proper list of compiler ids.
Issue: #22125
b0f830ced6 VS: Do not apply any '/external:*' flag table mapping on VS < 16.10
3fd65f5ca6 VS: Compare VS instance versions as strings
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6241
Extend the change from commit 6185265800 (Utilities/Sphinx: Index
guide-level documents for cross-referencing, 2019-12-06,
v3.17.0-rc1~181^2~1) to name guide documents other than the top level
using their docname instead of their title. This will allow them to be
cross-referenced by a stable name even if their title changes.
Run the script:
Utilities/Sphinx/update_versions.py --since v3.20.0 --overwrite
Manually remove directives generated in documents for long-existing
features for which documentation was added.
Since commit 887e9df0c7 (VS: Update v142 CL flag table for VS 16.10,
2021-06-04) we map several `/external:*` flags to their corresponding
`.vcxproj` elements. These elements were added to `cl.xml` in VS 16.10,
so filter them out in older VS versions. Add a field to the json flag
table format to specify the minimum version of VS needed for a given
mapping.
Issue: #22308