Commit Graph

52032 Commits

Author SHA1 Message Date
Robert Maynard 5d44d73bbe CMakeDetermineCompilerABI: Revert "Parse library arch from versioned paths"
The change in commit 657fc3a9a7 (CMakeDetermineCompilerABI: Parse
library arch from versioned paths, 2021-02-03, v3.20.0-rc1~40^2) caused
`CMAKE_LIBRARY_ARCHITECTURE` to be populated on non-multiarch platforms
if their compilers happen to use `$arch/$version` library directories.
Revert the use of versioned library paths.

Fixes: #22024
2021-04-05 16:40:43 -04:00
Brad King b7b0fb4303 CMake 3.20.0 v3.20.0 2021-03-23 11:43:17 -04:00
Brad King 5e4396dd21 Merge topic 'doc-xcoff-chrpath' into release-3.20
4a9fb82030 Help: CMAKE_NO_BUILTIN_CHRPATH applies to XCOFF too

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5925
2021-03-23 10:34:50 -04:00
Craig Scott 4a9fb82030 Help: CMAKE_NO_BUILTIN_CHRPATH applies to XCOFF too 2021-03-22 11:48:01 -04:00
Brad King 3d9aa96fca Merge topic 'schema-typo' into release-3.20
bda6446e6f Help: Fix typos in presets schema field descriptions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5922
2021-03-19 11:18:22 -04:00
Brad King 27cd678e77 Merge topic 'fix-CMP0118-NEW' into release-3.20
17eb610a31 Help: Document CMP0118 requirement for boolean values
06feb845aa CMP0118: Fix NEW behavior when looking up target sources

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5921
2021-03-19 11:17:19 -04:00
Adriaan de Groot bda6446e6f Help: Fix typos in presets schema field descriptions 2021-03-18 10:07:09 -04:00
Brad King 17eb610a31 Help: Document CMP0118 requirement for boolean values 2021-03-18 10:00:02 -04:00
Brad King 06feb845aa CMP0118: Fix NEW behavior when looking up target sources
Under the CMP0118 NEW behavior, sources generated in one directory
should be visible when added to targets in other directories.  This was
accidentally left out of commit 6624b65b3f (GENERATED prop: Add
implementation for policy CMP0118 being set to NEW, 2020-11-09,
v3.20.0-rc1~393^2~1).

Fixes: #18399
2021-03-18 09:57:49 -04:00
Brad King fab7fe7ef5 CMake 3.20.0-rc5 v3.20.0-rc5 2021-03-17 10:16:33 -04:00
Brad King 6fb2ce6956 Merge branch 'release-3.19' into release-3.20 2021-03-17 09:40:55 -04:00
Brad King 1e79c230fa Merge branch 'backport-3.19-ci-vs-16.8-in-16.9' into release-3.19
Merge-request: !5918
2021-03-17 09:40:14 -04:00
Brad King 74a65b0033 Merge topic 'ninja-regenerate-no-recompact' into release-3.20
6fd9c68ed0 Ninja: Do not recompact deps log in regeneration during a build

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !5916
2021-03-17 09:39:37 -04:00
Brad King d6acaa7bbd Merge topic 'FindPkgConfig-NAMES_PER_DIR' into release-3.20
c7bd2d0d97 FindPkgConfig: Restore preference for first pkg-config in PATH

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5914
2021-03-17 09:38:47 -04:00
Brad King ec9a2db02c Merge branch 'ci-vs-16.8-in-16.9' into release-3.20 2021-03-17 09:36:42 -04:00
Brad King ed23c29ac5 Merge branch 'invalid-configure-preset' into release-3.20
Merge-request: !5912
2021-03-17 09:28:12 -04:00
Brad King 75aa444fd8 Merge topic 'FindOpenMP-IntelLLVM-Windows' into release-3.20
6fd014a4b6 FindOpenMP: Use -Qiopenmp instead of -fiopenmp for IntelLLVM on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5904
2021-03-17 09:15:54 -04:00
Brad King 53f69272c8 Merge branch 'backport-3.19-ci-vs-16.8-in-16.9' into ci-vs-16.8-in-16.9 2021-03-17 09:07:38 -04:00
Brad King 9f36461e12 gitlab-ci: Fix using VS 16.8 toolset under VS 16.9 in CMake 3.19 branch
The 16.8 and 16.9 toolset numbers vary only in their third component.
Use CMake 3.19.7 for three-component toolset version specification
support.
2021-03-17 09:05:52 -04:00
Brad King 80255a5aa9 Merge branch 'ninja-regenerate-no-recompact' into release-3.19
Merge-request: !5916
2021-03-16 10:55:07 -04:00
Brad King 5aa01927c0 Merge branch 'FindPkgConfig-NAMES_PER_DIR' into release-3.19
Merge-request: !5914
2021-03-16 10:54:48 -04:00
Brad King 68497e8b8c Merge topic 'FindMatlab-r2021a' into release-3.20
427f5f2fa9 FindMatlab: R2021a version map

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5907
2021-03-16 10:47:03 -04:00
Brad King 6fd9c68ed0 Ninja: Do not recompact deps log in regeneration during a build
Since commit fb18215904 (Ninja: clean ninja metadata once generated,
2019-05-13, v3.17.0-rc1~207^2) we recompact the ninja deps log during
regeneration.  That does not make sense during a build, so skip it if we
are regenerating during a build.

This problem went unnoticed previously because on non-Windows platforms
the deps log is just overwritten again by the outer build.  On Windows
platforms, recompaction during the build fails, but we did not actually
try to do that until commit 11f4259362 (Ninja: Clean metadata after
regen during build on Windows with 1.10.2+, 2020-11-30, v3.19.2~29^2~1).

Fixes: #21916
2021-03-16 09:37:35 -04:00
Brad King c7bd2d0d97 FindPkgConfig: Restore preference for first pkg-config in PATH
Since commit ab8bd48352 (FindPkgConfig: Search for pkg-config.bat file
on a Windows host, 2020-09-25, v3.19.0-rc1~98^2) we prefer
`pkg-config.bat` over `pkg-config` regardless of the order they appear
in the `PATH`.  Tell `find_program` to consider all names in each
directory so that the first one in `PATH` of any name wins.

Issue: #21239
2021-03-16 09:04:56 -04:00
Sam Freed b9eb3541cf Tests: update tests to catch invalid configurePreset at read-time 2021-03-15 14:53:00 -07:00
Sam Freed 83eeeff7dc Fail at read-time if configurePreset field invalid 2021-03-15 14:44:43 -07:00
William R. Dieter 6fd014a4b6 FindOpenMP: Use -Qiopenmp instead of -fiopenmp for IntelLLVM on Windows
The Windows driver does not like the `-f` form of this option.

Note that we prefer `-Qiopenmp/-fiopenmp` over `-Qopenmp/-fopenmp` in
order to generate LLVM IR with parallelization information, which the
backend uses to generate parallelized code.

Signed-off-by: William R. Dieter <william.r.dieter@intel.com>
2021-03-15 14:43:23 -04:00
Brad King dfdea7d9e3 Merge topic 'ci-vs-16.8-in-16.9' into release-3.20
7662344faa gitlab-ci: Fix using VS 16.8 toolset under VS 16.9

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5910
2021-03-15 13:49:23 -04:00
Brad King 7662344faa gitlab-ci: Fix using VS 16.8 toolset under VS 16.9
The 16.8 and 16.9 toolset numbers vary only in their third component.
Use CMake 3.19.7 for three-component toolset version specification
support.
2021-03-15 12:19:00 -04:00
Brad King 06c6d01869 Merge branch 'release-3.19' into release-3.20 2021-03-15 12:06:30 -04:00
Brad King 22612dd53a CMake 3.19.7 v3.19.7 2021-03-15 09:39:14 -04:00
Michael Hirsch 427f5f2fa9 FindMatlab: R2021a version map 2021-03-15 09:10:07 -04:00
Brad King 76b1b0b976 Merge branch 'release-3.19' into release-3.20 2021-03-15 08:52:09 -04:00
Brad King 1e2513b612 Merge topic 'vs-toolset-version' into release-3.20
30c835428f VS: Accept and translate '-T version=' values with three components
58a50a3a0a VS: Fix '-T version=14.28' under VS 16.9
09f59da7f0 cmGlobalVisualStudioVersionedGenerator: Clarify local variable name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5903
2021-03-15 08:50:13 -04:00
Brad King c141a8be9e Merge topic 'ci-build-no-doc' into release-3.20
9b5eae9cde gitlab-ci: remove redundant sphinx build from release-style CI jobs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !5905
2021-03-12 13:27:09 -05:00
Brad King 9b5eae9cde gitlab-ci: remove redundant sphinx build from release-style CI jobs
The Sphinx build is mostly serial and takes a long time.  All our CI
pipelines (packaging, integration branches, merge requests) have a
dedicated job for the Sphinx build.
2021-03-12 13:05:55 -05:00
Brad King c540b611b8 Merge branch 'vs-toolset-version' into release-3.19
Merge-request: !5903
2021-03-12 09:26:25 -05:00
Brad King 30c835428f VS: Accept and translate '-T version=' values with three components
The VS 16.8 and VS 16.9 toolset versions differ only in their third
component.  The `vcvarsall` option `-vcvars_ver=` accepts a three
component version, so accept this format for VS toolset selection too.

Issue: #21922
2021-03-12 08:36:45 -05:00
Brad King 58a50a3a0a VS: Fix '-T version=14.28' under VS 16.9
CMake accepts the toolset version that is default in the current VS
version by matching the name later VS versions will use for the SxS
props files.  It predicts the future name based on the first two
components of the current VS version's default toolset.  However, this
heuristic breaks naming the VS 16.8 toolset version 14.28 under VS 16.9
because the latter's default toolset version is 14.28.29910, which did
not increment the second version component (unprecedented in VS).

Fix this by always using the requested version's SxS props file when it
exists, even if it matches the first two components of the current VS
version's default toolset.  Also add a special case for the name VS
16.10 will use for VS 16.9's default toolset, so that it can be used
with VS 16.9 too.

Fixes: #21922
2021-03-12 08:36:40 -05:00
Brad King 09f59da7f0 cmGlobalVisualStudioVersionedGenerator: Clarify local variable name 2021-03-12 06:33:51 -05:00
Brad King c69d4b177f CMake 3.20.0-rc4 v3.20.0-rc4 2021-03-11 09:23:18 -05:00
Brad King 8b82b70292 Merge branch 'release-3.19' into release-3.20 2021-03-11 08:30:33 -05:00
Brad King 4606082742 Merge topic 'xcode-framework-quoting' into release-3.20
4f9a71974e Xcode: Restore support for spaces in framework names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5899
2021-03-11 08:10:42 -05:00
Brad King f59a3e2148 Merge topic 'cray-compiler-wrapper-detection' into release-3.20
13144e82cd Cray: Enable Cray compiler wrapper detection on all platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5897
2021-03-11 08:09:32 -05:00
Brad King acdbf64047 Merge branch 'cray-compiler-wrapper-detection' into release-3.19
Merge-request: !5897
2021-03-10 12:13:52 -05:00
Justin LaPolla 13144e82cd Cray: Enable Cray compiler wrapper detection on all platforms
Previously were checking for the `__CRAYXC` and `__CRAYXE` predefined
macros.  These macros reflect the platform that the compiler wrapper is
running on, i.e. Cray XC and Cray XE machines.  They are not defined on
other platforms such as Apollo80.

Switch to the `__CRAYXT_COMPUTE_LINUX_TARGET` macro. The Cray cc/CC/ftn
wrappers always define this macro on the command line. This macro has
been in use for many years, and is believed to be a reliable way to
detect current and older Cray compiler wrappers.

Fixes: #21904
2021-03-10 12:13:17 -05:00
Brad King ccfa0852c0 Merge topic 'ep-fc-revert-refactoring' into release-3.20
57d442e182 Revert ExternalProject and FetchContent refactoring

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5898
2021-03-10 11:37:15 -05:00
Brad King 845c8c72de Merge topic 'FindMatlab-MCR-vars' into release-3.20
5ba1f4b6ee FindMatlab: Fix Matlab_LIBRARIES for MCR

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5896
2021-03-10 11:36:28 -05:00
Brad King f99ff2beb9 Merge branch 'backport-xcode-framework-quoting' into release-3.19
Merge-request: !5899
2021-03-10 11:28:40 -05:00
Brad King 4f9a71974e Xcode: Restore support for spaces in framework names
In commit ce2dee9e5b (Xcode: Don't add framework as -framework argument
in linker info list, 2020-09-28, v3.19.0-rc1~47^2) we split up the path
to a framework into the directory and framework name parts, but only
retained the quoting on the directory part.  Restore quoting of the
framework name.

Fixes: #21910
2021-03-10 10:01:11 -05:00