Commit Graph

52024 Commits

Author SHA1 Message Date
Adriaan de Groot bda6446e6f Help: Fix typos in presets schema field descriptions 2021-03-18 10:07:09 -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
Silvio Traversaro 5ba1f4b6ee FindMatlab: Fix Matlab_LIBRARIES for MCR
In commit bda5e2ac8f (FindMatlab: Only include engine and dataarray
libraries if they are found, 2020-12-11, v3.20.0-rc1~297^2~1) we fixed
the imported target to contain optional libraries only if they are
found.  Do the same for `Matlab_LIBRARIES`.
2021-03-09 12:56:08 -05:00
Brad King 791338359f Merge branch 'release-3.19' into release-3.20 2021-03-09 09:16:21 -05:00
Brad King 22909e0def Merge topic 'CrayPrgEnv-detection' into release-3.20
23b101de60 Revert "Cray: Fix Cray compiler detection on new platforms"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5889
2021-03-09 09:15:43 -05:00
Brad King 155ec56c9f Merge topic 'cray-fortran' into release-3.20
ef513fe3d1 Cray: Enable explicit Fortran preprocessing for Ninja generator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5882
2021-03-08 13:07:20 -05:00
Brad King 214a06ec2e Merge branch 'CrayPrgEnv-detection' into release-3.19
Merge-request: !5889
2021-03-08 12:36:00 -05:00
Brad King 23b101de60 Revert "Cray: Fix Cray compiler detection on new platforms"
The justification in commit 9ee4a42813 (Cray: Fix Cray compiler
detection on new platforms, 2020-12-01, v3.19.2~26^2) confuses detection
of the CrayPrgEnv with identification of the Cray compiler.  The
change regressed detection of the CrayPrgEnv on non-Cray compilers.
Revert it pending further investigation into the original problem.

Fixes: #21894
2021-03-08 12:28:36 -05:00
Brad King 412479b9d8 Merge topic 'cmake-gui-search-case' into release-3.20
9ec50ff157 cmake-gui: Restore search bar case insensitivity

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5878
2021-03-05 08:25:29 -05:00