52256 Commits

Author SHA1 Message Date
Brad King
0d3bfda22a CMake 3.20.6 v3.20.6 2021-09-20 11:28:01 -04:00
Brad King
c9c6e8d6e8 Merge branch 'android-PATH' into release-3.20
Merge-request: !6528
2021-09-16 09:03:07 -04:00
hhb
94f3776774 Android: Restore searching PATH for executables
Since commit a7f41a7ee4 (Android: Fix find_* search order within NDK for
unified toolchains, 2020-10-13, v3.20.0-rc1~610^2), we turn off
`CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH`.  This breaks `find_program`
searching `PATH` for host executables.  Fortunately, the setting turns
out not to be necessary, perhaps since commit cbc51a8be3 (Android:
restructure android search paths, 2020-11-06, v3.20.0-rc1~509^2).
Without it, none of NDK tests fail, so remove it to restore pre-3.20
behavior.

Fixes: #22634
2021-09-16 08:45:33 -04:00
Brad King
fd64b84d15 Merge branch 'GNUInstallDirs-variable-named-0' into release-3.20
Merge-request: !6474
2021-08-24 10:02:58 -04:00
Ben Boeckel
49a5dbcaff GNUInstallDirs: avoid unwanted variable dereference
In some situations, it seems that the variable `0` is defined. In the
case found, it was set to `1`. This makes the detection of the missing
third argument bogus and unnecessarily triggers a warning.

This oversight was introduced in 229b5ee994 (GNUInstallDirs: Add dir
argument to GNUInstallDirs_get_absolute_install_dir, 2020-10-31) prior
to CMake 3.20's release cycle.
2021-08-22 12:42:48 -04:00
Brad King
91ba893536 Merge branch 'macos-10.4' into release-3.20
Merge-request: !6426
2021-08-02 16:14:39 -04:00
Evan Miller
1af23c4de2 macOS: Restore support for Mac OS X 10.4 (Tiger)
Since commit 4aed96e230 (Apple: Set CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG
on non-macOS too, 2021-04-06, v3.20.1~5^2) we always enable support for
linking with `-rpath`.  The intention of the change was to enable using
the flag on iOS, tvOS and watchOS by avoiding a Darwin-specific version
check.  However, removing the check broke support for OS X 10.4 because
the flag is not supported on that version.

Restore a form of the check that disables the flag on OS X < 10.5 while
still allowing it for the other Apple platforms.  Since no one is doing
iOS/tvOS/etc development on 10.4, this change should have no unintended
side effects.

Fixes: #22490
2021-08-02 16:12:14 -04:00
Brad King
9029335b52 Merge branch 'backport-3.20-intel-oneapi-std-windows' into release-3.20
Merge-request: !6328
2021-07-09 11:45:00 -04:00
Brad King
1c227583a4 Tests: Fix RunCMake.try_compile C/CXX standards with IntelLLVM MSVC mode
Since commit 5115dd1e2c (IntelLLVM: Fix C/C++ standard level flags on
Windows, 2021-07-07, v3.21.0-rc3~7^2^2) we activate C/C++ standard level
logic for IntelLLVM when targeting the MSVC ABI.  Update the
`RunCMake.try_compile` test to be aware of this even when CMake is
itself configured by an older CMake that does not know this.
2021-07-09 11:29:34 -04:00
Raul Tambre
1c14691a86 CMakeCCompilerId: Fix C standard detection in Clang and IntelLLVM MSVC mode
Clang does not define `__STDC__` if in MSVC compatibility mode, but does
define `__STDC_VERSION__`.  Avoid the fallback for this combination.

This backports commit 7596d8b951 (CMakeCCompilerId: Fix C standard
detection in Clang MSVC mode, 2021-02-07, v3.21.0-rc1~587^2~14) to the
3.20 release series.  This is needed since commit 5115dd1e2c (IntelLLVM:
Fix C/C++ standard level flags on Windows, 2021-07-07, v3.21.0-rc3~7^2^2)
now that we activate C/C++ standard level logic for IntelLLVM when
targeting the MSVC ABI.
2021-07-09 11:27:47 -04:00
Brad King
ad793ce825 Merge branch 'FindJPEG-revert-turbo' into release-3.20
Merge-request: !6326
2021-07-09 07:52:09 -04:00
Brad King
0de1f1503b FindJPEG: Revert "Search for 'turbojpeg' and 'turbojpeg-static' too"
Revert commit 74cc2e3326 (FindJPEG: Search for 'turbojpeg' and
'turbojpeg-static' too, 2021-01-09, v3.20.0-rc1~176^2) pending further
investigation.  The "turbo" variants are not drop-in replacements on all
platforms.

Fixes: #22333
2021-07-09 07:49:12 -04:00
Brad King
d2419c4132 Merge branch 'release-3.19' into release-3.20 2021-07-08 07:47:04 -04:00
Brad King
01b40cfd4b Merge branch 'check_cxx_compiler_flag_no_normal_variable' into release-3.20
Merge-request: !6318
2021-07-08 07:46:41 -04:00
Brad King
93b25f0bd5 Merge branch 'check_cxx_compiler_flag_no_normal_variable' into release-3.19
Merge-request: !6318
2021-07-08 07:46:16 -04:00
Robert Maynard
018d300ca0 Check*CompilerFlag: Do not set result as a normal variable too
This was previously fixed by commit d46590910c (Check*CompilerFlag: Do
not set result as a normal variable too, 2020-09-21, v3.18.3~1^2^2), but
was regressed by refactoring in commit 90dead024c (CheckCompilerFlag:
unified way to check compiler flags per language, 2020-09-25,
v3.19.0-rc1~88^2) due to the changes being developed concurrently.
Fix it again, and add a test case.

Fixes: #21207
2021-07-08 07:44:03 -04:00
Brad King
dc4b486933 Merge branch 'backport-3.20-intel-oneapi-std-windows' into release-3.20
Merge-request: !6319
2021-07-07 12:53:56 -04:00
Brad King
5115dd1e2c IntelLLVM: Fix C/C++ standard level flags on Windows
In commit a90d2a9eed (IntelLLVM: Add support for Intel LLVM-based
compilers, 2020-11-02, v3.20.0-rc1~89^2~20) we accidentally left out
activation of the C/C++ standard level selection logic when IntelLLVM is
targeting the MSVC ABI.

Fixes: #22388
2021-07-07 12:25:38 -04:00
Brad King
77abc295a1 Merge branch 'backport-3.20-makefile-normalize-depfile' into release-3.20
Merge-request: !6297
2021-07-02 10:14:36 -04:00
Marc Chevrier
6a6efdcaed Makefiles: Normalize compiler-generated depfile paths
Even though Makefile generators pass source files and include
directories by absolute path to the compiler, the compiler may generate
depfile paths relative to the current working directory.  For example,
`ccache` with `CCACHE_BASEDIR` may transform paths this way.  When
reading a depfile, convert relative dependencies to absolute paths
before placing them in `compiler_depend.make`, which is later evaluated
in the top-level build directory.

Fixes: #22364
2021-07-02 09:24:57 -04:00
Brad King
efa5e1f367 CMake 3.20.5 v3.20.5 2021-06-21 11:23:19 -04:00
Brad King
25e82666e4 Help: Add 3.20 release note section for 3.20.{3,4,5}
Make it clear that the notes for these patch releases were not
forgotten, and that there were simply no changes to documented features
or interfaces.
2021-06-21 11:20:33 -04:00
Brad King
621f7bf2e5 Merge branch 'test-xcode-13' into release-3.20
Merge-request: !6248
2021-06-21 09:56:09 -04:00
Brad King
d6c0cc1681 Merge branch 'ep-git-update-commit-ref' into release-3.20
Merge-request: !6249
2021-06-21 09:47:43 -04:00
Craig Scott
360ff17dc6 ExternalProject: Use ${ref}^0 to avoid MSYS/Cygwin shell substitutions
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
2021-06-20 15:40:45 +10:00
Brad King
1dd0eae4fc Tests: Fix xcode version detection for Xcode 13 on ARM
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.
2021-06-18 14:04:32 -04:00
Brad King
acd82e4690 Merge topic 'fix-flow-control-override' into release-3.20
c017098d4d CMake: Allow override of unexpected non-flow-control commands

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6232
2021-06-17 06:47:42 -04:00
Brad King
cd73f3736b Merge topic 'vs-map-external-warnings' into release-3.20
947f0c8b81 VS: Do not apply '/external:W*' flag table mapping on VS < 16.10
e59a208b69 cmGlobalVisualStudio10Generator: Adopt GetVSInstanceVersion method
d6d4af0ec3 cmGlobalVisualStudio10Generator: Move static functions to anonymous namespace

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6233
2021-06-17 06:45:57 -04:00
Brad King
947f0c8b81 VS: Do not apply '/external:W*' flag table mapping on VS < 16.10
Since commit 9054cd05e6 (VS: Add flag table entries for '/external:W*'
flags in VS 16.10, 2021-05-28, v3.20.4~10^2) we map flags to the
`ExternalWarningLevel` element.  VS 16.9 does not support that element,
but its `cl` compiler does support the `/external:W*` flags.  Filter out
the flag table entry on older VS versions.

Fixes: #22308
2021-06-16 11:08:15 -04:00
Brad King
e59a208b69 cmGlobalVisualStudio10Generator: Adopt GetVSInstanceVersion method
Port from `cmGlobalVisualStudioVersionedGenerator`.
2021-06-16 10:57:15 -04:00
Brad King
d6d4af0ec3 cmGlobalVisualStudio10Generator: Move static functions to anonymous namespace 2021-06-16 10:57:14 -04:00
Kyle Edwards
c017098d4d CMake: Allow override of unexpected non-flow-control commands
Fixes: #22310
2021-06-16 10:39:39 -04:00
Brad King
a9ff600a50 Merge topic 'ci-xcode-12.5' into release-3.20
9c98878451 gitlab-ci: update macOS jobs to use Xcode 12.5

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6229
2021-06-16 08:14:41 -04:00
Brad King
9c98878451 gitlab-ci: update macOS jobs to use Xcode 12.5 2021-06-15 15:42:08 -04:00
Brad King
b61fe6a831 CMake 3.20.4 v3.20.4 2021-06-14 11:05:49 -04:00
Brad King
a7ad3a5f92 Merge topic 'help-cmake_path-IS_PREFIX' into release-3.20
e49cbf1d44 Help: cmake_path: fix erroneous example for IS_PREFIX

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6223
2021-06-14 09:44:14 -04:00
Brad King
43c42e12c8 Merge topic 'fileapi-link-fragments' into release-3.20
68bbec66e0 fileapi: Fix codemodel-v2 link command fragment relative paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6220
2021-06-14 09:41:50 -04:00
Marc Chevrier
e49cbf1d44 Help: cmake_path: fix erroneous example for IS_PREFIX 2021-06-12 11:22:40 +02:00
Brad King
68bbec66e0 fileapi: Fix codemodel-v2 link command fragment relative paths
Use the same `cmLinkLineComputer` subclass as the generator does.  This
affects the base directory from which relative paths are computed.

Fixes: #22301
2021-06-11 11:11:36 -04:00
Brad King
e3c420a74f Merge topic 'presets-build-fixes' into release-3.20
534c40e6d8 presets: Fix buildPreset "targets" not allowing a single string
5d67632813 presets: Fix buildPreset "jobs"
93e396b402 presets: Fix buildPreset "jobs" field test case

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Merge-request: !6190
2021-06-09 07:57:34 -04:00
Brad King
12fc4f1239 Merge topic 'irsl-intel-oneapi-windows' into release-3.20
6d4c51c29e IRSL: Add Intel oneAPI redist location on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6199
2021-06-09 07:56:28 -04:00
Brad King
6d4c51c29e IRSL: Add Intel oneAPI redist location on Windows
Fixes: #22283
2021-06-08 09:07:37 -04:00
Sam Freed
534c40e6d8 presets: Fix buildPreset "targets" not allowing a single string
Fixes: #22272
2021-06-08 07:47:54 -04:00
Sam Freed
5d67632813 presets: Fix buildPreset "jobs"
Fixes: #22273
2021-06-08 07:47:24 -04:00
Brad King
93e396b402 presets: Fix buildPreset "jobs" field test case
Avoid passing parallel build options to Make tools that do not support
them.
2021-06-08 07:47:20 -04:00
Brad King
f092fe677f Merge topic 'FindBoost-json-header' into release-3.20
c44dfdfdbb FindBoost: Add check for json component header in Boost 1.75+

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6193
2021-06-07 13:22:03 -04:00
John Drouhard
c44dfdfdbb FindBoost: Add check for json component header in Boost 1.75+
In commit 8293064760 (FindBoost: Add support for Boost 1.75, 2021-02-03,
v3.19.5~9^2) the dependencies of the json component were added, but the
header listing was left out.
2021-06-04 13:43:54 -04:00
Brad King
451b1a8321 Merge topic 'ci-sccache-consistent-builds' into release-3.20
9d7ebb47ea ci: use consistent sccache builds

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6156
2021-06-04 06:53:46 -04:00
Ben Boeckel
9d7ebb47ea ci: use consistent sccache builds 2021-06-02 15:43:16 -04:00
Brad King
e092ded1a1 Merge topic 'msvc_cxx20_23' into release-3.20
886e27062b Clang/MSVC: C++20 final flag, C++23 support
3aaf1d91bf MSVC: C++20 final flag, C++23 support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex <leha-bot@yandex.ru>
Acked-by: Michael Hirsch <michael@scivision.dev>
Merge-request: !6174
2021-06-02 07:32:30 -04:00