Commit Graph

54977 Commits

Author SHA1 Message Date
Craig Scott 8371056fbb Help: Correct inaccuracies in wording for CMP0128 2021-11-09 07:37:09 +11:00
Brad King ced697d284 Merge topic 'nmc-cross-config-target-deps' into release-3.22
95f44e00cd Ninja Multi-Config: Fix custom command target dependencies in cross-configs
a883363935 Ninja Multi-Config: Fix internal cross-config target dependency ordering
16e24748c5 Ninja Multi-Config: Fix cross-config custom command dependency tracing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6702
2021-11-05 10:09:27 -04:00
Brad King 2bd4e48486 Merge topic 'CheckLinkerFlag-policies' into release-3.22
58c8d649e1 CheckLinkerFlag: Set policies needed by the implementation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6701
2021-11-05 10:07:57 -04:00
Thomas Dickerson 58c8d649e1 CheckLinkerFlag: Set policies needed by the implementation
The module was added in CMake 3.18 by commit af96c0f4fa
(CheckLinkerFlag: Add module to check validity of linker flags,
2020-05-16, v3.18.0-rc1~103^2), but it is still possible for projects to
use it without setting policies to the 3.18 version level.
2021-11-04 14:01:09 -04:00
Brad King 95f44e00cd Ninja Multi-Config: Fix custom command target dependencies in cross-configs
Generator expressions in a non-cross custom command's `COMMAND`
arguments are evaluated in the command config.  Target-level
dependencies implied by `TARGET_FILE` must therefore be cross
dependencies.  This is important to generate proper target-level
dependencies on the cross-config build statements for the target to
which the custom command is attached.

Fixes: #22855
2021-11-04 13:41:16 -04:00
Brad King a883363935 Ninja Multi-Config: Fix internal cross-config target dependency ordering
In commit 7abc3d61ac (Ninja Multi-Config: Fix issue with framework
dependencies and Autogen, 2020-02-13, v3.17.0-rc2~18^2) the `cmLinkItem`
comparison operator was updated to order identical strings by the
cross-config boolean.  We need to order identical targets that way too
in order to represent both a cross and non-cross dependency on the same
target.

Issue: #22855
2021-11-04 13:41:13 -04:00
Brad King 16e24748c5 Ninja Multi-Config: Fix cross-config custom command dependency tracing
Process `CMAKE_CROSS_CONFIGS` and friends to properly configure the
generator for cross-config behavior before custom command dependency
tracing.
2021-11-04 12:23:35 -04:00
Brad King fda948846b Merge branch 'release-3.21' into release-3.22 2021-11-04 12:22:34 -04:00
Brad King 85771bbf00 Merge topic 'doc-TARGET_RUNTIME_DLLS' into release-3.22
001870d451 Help: Clarify TARGET_RUNTIME_DLLS behavior on imported targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !6700
2021-11-04 09:07:47 -04:00
Brad King 753d861a3b Merge topic 'FindHDF5-avoid-duplicate-library-entries' into release-3.22
247f1149e1 FindHDF5: clear language-specific libraries list before discovery
f56963cf05 FindHDF5: clear library output variables at the top of the module

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6698
2021-11-04 09:06:39 -04:00
Brad King 6f995f3825 Merge topic 'msvc-cxx-modules-scanDependencies' into release-3.22
9ed1d7bee6 cmScanDepFormat: Accept P1689r4 files with version 1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6696
2021-11-04 09:05:39 -04:00
Brad King 274e3fb7f4 Merge topic 'FindHDF5-fix-windows-hl-implib-query' into release-3.22
6f830c5c38 FindHDF5: fix variable name when querying `hdf5_hl`'s implib

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6697
2021-11-04 09:04:41 -04:00
Brad King 7456127e01 Merge topic 'GNUtoMS-vs2022' into release-3.22
571a795d2f GNUtoMS: Add search path for VS 2022 environment scripts

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6695
2021-11-04 09:03:22 -04:00
Brad King b15ac6416c Merge topic 'ninja-pdb-dir' into release-3.22
73b84db62d Ninja: Fix creation of Windows import library directory
bd36735f65 cmNinjaTargetGenerator: Replace "their" with "there" in comment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6694
2021-11-04 09:02:01 -04:00
Brad King d18ba5b226 Merge branch 'doc-TARGET_RUNTIME_DLLS' into release-3.21
Merge-request: !6700
2021-11-03 16:18:29 -04:00
Brad King 001870d451 Help: Clarify TARGET_RUNTIME_DLLS behavior on imported targets
This generator expression does not report the locations of `.dll`
files on imported targets with the `UNKNWON` type, since their
`IMPORTED_LOCATION` refers to the import library and not the DLL.

Fixes: #22845
2021-11-03 16:17:17 -04:00
Ben Boeckel 247f1149e1 FindHDF5: clear language-specific libraries list before discovery 2021-11-03 13:24:30 -04:00
Ben Boeckel f56963cf05 FindHDF5: clear library output variables at the top of the module
This avoids accumulation of `HDF5_LIBRARIES` results when calling
`find_package(HDF5)` multiple times within a single scope.
2021-11-03 13:05:18 -04:00
Ben Boeckel 6f830c5c38 FindHDF5: fix variable name when querying hdf5_hl's implib
Introduced in 4150048a3b (FindHDF5: unset some variables, 2017-07-24).
2021-11-03 11:29:20 -04:00
Brad King 6202af6092 Merge branch 'msvc-cxx-modules-scanDependencies' into release-3.21
Merge-request: !6696
2021-11-03 10:51:37 -04:00
Brad King 9ed1d7bee6 cmScanDepFormat: Accept P1689r4 files with version 1
VS 2022's `cl` 19.30 has a `-scanDependencies` option that produces the
P1689r4 format.  It reports the "version" field with value "1".
2021-11-03 10:50:54 -04:00
Brad King f06f74ede7 Merge topic 'help_cmake_lang_extensions_default' into release-3.22
e9976c8827 Help: Better explain CMAKE_<LANG>_EXTENSIONS_DEFAULT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6686
2021-11-03 10:39:04 -04:00
Brad King 28d63320f1 Merge topic 'nvhpc-isystem' into release-3.22
92624714c4 NVHPC: Support SYSTEM include directories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6691
2021-11-03 10:37:54 -04:00
Brad King ac5932c9e4 Merge branch 'GNUtoMS-vs2022' into release-3.21
Merge-request: !6695
2021-11-03 10:34:05 -04:00
Brad King 571a795d2f GNUtoMS: Add search path for VS 2022 environment scripts
Extend the logic from commit 08c5b3eff0 (GNUtoMS: Add search path for VS
2019 environment scripts, 2020-01-09, v3.16.3~15^2) to consider VS 2022
paths too.

Fixes: #22847
2021-11-03 10:32:14 -04:00
Brad King 73b84db62d Ninja: Fix creation of Windows import library directory
Call `EnsureParentDirectoryExists` with our internal representation
of the path, not the representation quoted/encoded for Ninja.

Fixes: #22841
2021-11-03 10:08:48 -04:00
Brad King bd36735f65 cmNinjaTargetGenerator: Replace "their" with "there" in comment 2021-11-03 10:08:47 -04:00
Robert Maynard 92624714c4 NVHPC: Support SYSTEM include directories
Fixed #22834
2021-11-02 14:33:18 -04:00
Raul Tambre e9976c8827 Help: Better explain CMAKE_<LANG>_EXTENSIONS_DEFAULT
Explain that this represents the compiler's default and mustn't be modified
by the user. Clarify when it's used as the default.

Additionally:
* Add a reference to it in cmake-compile-features in text explaining the
  feature.
* Add explanations for the default initialization by
  `CMAKE_<LANG>_EXTENSIONS_DEFAULT` to all `<LANG>_EXTENSIONS` pages and
  references to CMP0128.
* Slightly reduce the wordiness of the default initialization explanations by
  removing an unnecessary "it is".

Fixes #22828.
2021-11-02 17:58:21 +02:00
Brad King 1cf99f66c7 Merge topic 'doc-cpackrpm-versionadded' into release-3.22
a7a499a459 Help: Add `versionadded` for `CPACK_RPM_REQUIRES_EXCLUDE_FROM` variable
3eefb78512 Help: Use lower-case names of sphinx directives

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6684
2021-11-02 08:50:01 -04:00
Brad King e7fa6d45d4 Merge topic 'FindMPI-pkg-config' into release-3.22
56d949f05f FindMPI: Fix finding PkgConfg for fallback

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6685
2021-11-02 08:48:12 -04:00
Alex Turbov a7a499a459 Help: Add versionadded for CPACK_RPM_REQUIRES_EXCLUDE_FROM variable 2021-11-01 09:20:20 -04:00
Brad King 3eefb78512 Help: Use lower-case names of sphinx directives 2021-11-01 09:20:20 -04:00
Brad King 7ad6c1afd6 Merge topic 'envmod-test-modifying-existing' into release-3.22
9c4d6404eb Tests/Environment: also test modifying ambient values
7d52d48a32 cmCTestRunTest: get the default value from the environment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6682
2021-11-01 09:08:10 -04:00
Brad King 56d949f05f FindMPI: Fix finding PkgConfg for fallback
In commit 0723b2c935 (MPI: Add fallback detection code for MPI when cross
compiling, 2021-09-17, v3.22.0-rc1~89^2) the FindPkgConfig module was
included directly.  This produces warnings like:

    The package name passed to `find_package_handle_standard_args` (PkgConfig)
    does not match the name of the calling package (MPI).

Use `find_package(PkgConfig)` instead, as other find modules do.

Fixes: #22823
2021-11-01 08:09:15 -04:00
Brad King 6b64cc12af Merge topic 'doc-vs-instance-ver' into release-3.22
0ad79f7ba8 Help: Fix versionadded for VS 15 2017 instance selection

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6681
2021-10-29 11:52:08 -04:00
Ben Boeckel 9c4d6404eb Tests/Environment: also test modifying ambient values 2021-10-29 10:54:02 -04:00
Ben Boeckel 7d52d48a32 cmCTestRunTest: get the default value from the environment
This only works due to some assumptions about how the `ENVIRONMENT`
property is processed. Comments have been added to notify anyone
modifying the behavior about where to look.

Fixes: #22819
2021-10-29 10:54:02 -04:00
Brad King 0ad79f7ba8 Help: Fix versionadded for VS 15 2017 instance selection
Support for `CMAKE_GENERATOR_INSTANCE` was added in CMake 3.11, but the
possibility was mentioned in a comment in older versions, so the wrong
versionadded value was used in commit c43e845d09 (Help: Add `..
versionadded` directives to generator docs, 2020-11-11,
v3.20.0-rc1~476^2).
2021-10-29 09:47:01 -04:00
Brad King 4572c40df5 Merge topic 'msvc-c17' into release-3.22
c5cc4ddac4 MSVC: Add support for C17
6561b032bc MSVC: Tolerate c_std_17 and c_std_23 features on older compiler versions
22f804e0ec MSVC: Refactor C compile features table for C90, C99, and C11

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !6677
2021-10-29 08:52:18 -04:00
Brad King f594e32841 Merge topic 'doc-configure_file-creates-directories' into release-3.22
fa47e9c8f9 Help: Document that configure_file can create directories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6675
2021-10-29 08:51:23 -04:00
Marc Aldorasi fa47e9c8f9 Help: Document that configure_file can create directories 2021-10-28 12:48:25 -04:00
Brad King c5cc4ddac4 MSVC: Add support for C17
C17 support has been available in MSVC since VS 16.8.

Fixes: #22816
2021-10-28 12:27:00 -04:00
Brad King 6561b032bc MSVC: Tolerate c_std_17 and c_std_23 features on older compiler versions
MSVC `cl` versions prior to 19.27 had no `-std:c*` flags for C
standards.  List the `c_std_{17,23}` features anyway.  This allows
projects to at least attempt compilation with these compilers since they
do not have any modes.
2021-10-28 12:27:00 -04:00
Brad King 22f804e0ec MSVC: Refactor C compile features table for C90, C99, and C11
The custom "no modes" `cmake_record_c_compile_features` implementation
should only be used in `cl` versions prior to 19.27 because they had no
`-std:c*` flags for C standards.  For 19.27 we need a different custom
implementation to account for partial C11 support.  For 19.28 and above
we can use the default implementation through the `*__HAS_FULL_SUPPORT`
settings.

We already use this pattern in the MSVC C++ compile feature table.
2021-10-28 12:27:00 -04:00
Brad King 28a033cc7d CMake 3.22.0-rc2 v3.22.0-rc2 2021-10-28 09:46:08 -04:00
Brad King 639d72776c Merge topic 'cpack-qtifw-4.2' into release-3.22
51a2afe6e7 CPack/IFW: Add support for QtIFW 4.2

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6674
2021-10-28 09:14:05 -04:00
Brad King 7b19f55003 Merge topic 'builtin-help-versionadded' into release-3.22
054754359a cmRST: support `versionadded` and `versionchanged` directives

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6667
2021-10-28 09:09:23 -04:00
Brad King db8ee19317 Merge topic 'ci-scheduled' into release-3.22
ada9855b78 gitlab-ci: Run manual jobs automatically only on scheduled pipelines

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6671
2021-10-27 14:49:45 -04:00
Erlend E. Aasland 51a2afe6e7 CPack/IFW: Add support for QtIFW 4.2 2021-10-27 14:31:22 -04:00