Commit Graph

52031 Commits

Author SHA1 Message Date
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
Craig Scott
57d442e182 Revert ExternalProject and FetchContent refactoring
Refactoring of the ExternalProject and FetchContent modules moved
the commands into CMake scripts. This broke custom commands that
used shell redirection or special build tool variables of the form
$(MakeVar). Undo the sequence of commits that performed this
refactoring and follow-up fixes associated with it.

The following commits are reverted by this change:

4f3d1abbb4 (ExternalProject: Refactor pre-configure steps to support
no-target uses, 2021-02-05)

17e5516e60 (FetchContent: Invoke steps directly and avoid a separate
sub-build, 2021-01-29)

bd876f3849 (FetchContent: Restore patch command support,
2021-02-18)

404cddb7bb (ExternalProject: Fix misuse of IS_NEWER_THAN in
timestamp checks, 2021-02-21)

b0da671243 (FetchContent: Don't update timestamps if files don't
change, 2021-02-18)

Fixes: #21892
2021-03-10 09:07:44 +11:00