Commit Graph

55885 Commits

Author SHA1 Message Date
Kitware Robot e2edcd561a CMake Nightly Date Stamp 2022-01-21 00:02:17 -05:00
Brad King 74eb6c5316 Merge topic 'CheckPIESUpported-supports-SYSROOT'
219dde4ea8 CheckPIESupported: now uses any SYSROOT settings
4fa105d34e Check{Compiler,Linker}Flag: Add possibility to retrieve check outputs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6877
2022-01-20 12:01:14 -05:00
Brad King 8d8a7e0fbe Merge branch 'release-3.22' 2022-01-20 11:58:05 -05:00
Brad King 79589f7dfe Merge topic 'FortranCInterface-gcc-12-lto'
6a0ce19ce1 FortranCInterface: Fix compatibility with GCC gfortran 12 LTO

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6879
2022-01-20 11:58:05 -05:00
Brad King a5109e676f Merge topic 'FortranCInterface-gcc-12-lto' into release-3.22
6a0ce19ce1 FortranCInterface: Fix compatibility with GCC gfortran 12 LTO

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6879
2022-01-20 11:58:04 -05:00
Brad King 925d089a4d Merge topic 'ccmake-windows'
e674e02c55 Help: Add release note for experimental ccmake support on Windows
5c9310c714 ci: Enable ccmake on Windows
9278c6e01a ccmake: Add Windows support using PDCurses
b97c12babb ccmake: Refactor resizing logic into cmCursesForm
bf11dab49d ccmake: Refactor BUILD_CursesDialog option logic
bf94e01348 cmpdcurses: Add CMake build system
89703bc941 Merge branch 'upstream-PDCurses' into update-pdcurses
f84c4112c3 PDCurses 2021-12-08 (f1cd4f45)
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6832
2022-01-20 11:56:35 -05:00
Brad King a47b4387b4 Merge topic 'cmake-presets-include-outside-project-dir'
0c2d234bc9 CMakePresets: Allow files included from CMakePresets.json to be anywhere

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Gerhard Olsson <gerhard.nospam@gmail.com>
Merge-request: !6867
2022-01-20 11:55:35 -05:00
Kitware Robot 410dd6cf61 CMake Nightly Date Stamp 2022-01-20 00:02:18 -05:00
Björn Esser 6a0ce19ce1 FortranCInterface: Fix compatibility with GCC gfortran 12 LTO
Since version 12.0 the GCC Fortran compiler has implemented "WG5/N1942",
which causes, if link-time opmization is enabled, obfuscation of hard-coded
string values in the compiler objects and its resulting ELF-binaries.

This causes the CMake-internal detection of the mangling scheme for the
naming of subroutines to fail.  Thus we must ensure to have any link-time
optimization features to be disabled on the executable file we perform the
detection on.

The static libraries, however, must be build with LTO and non-LTO objects,
as that will ensure the verify step will operate on IPO objects, if building
those is requested by the system compiler flags.

Fixes: #23123

Signed-off-by: Björn Esser <besser82@fedoraproject.org>
2022-01-19 20:47:38 +01:00
Kyle Edwards 0c2d234bc9 CMakePresets: Allow files included from CMakePresets.json to be anywhere
There are some valid use cases for allowing these files to be outside
the project directory. Relax the restriction, and include a strong
warning in the documentation.
2022-01-19 11:21:35 -05:00
Brad King e674e02c55 Help: Add release note for experimental ccmake support on Windows 2022-01-19 10:53:10 -05:00
Brad King 5c9310c714 ci: Enable ccmake on Windows 2022-01-19 10:53:09 -05:00
Brad King 1ca83ae2bb Merge topic 'cpack-dmg-sla'
9e38bfa915 CPack/DMG: Add explicit option to use CPACK_RESOURCE_FILE_LICENSE for SLA
542ba6ac1a Tests: Add CPack/DMG case covering SLA from CPACK_RESOURCE_FILE_LICENSE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6876
2022-01-19 09:09:39 -05:00
Brad King 196243d668 Merge topic 'define-property-optional-args'
edb5059216 define_property(): Make BRIEF_DOCS and FULL_DOCS optional
7d26baff46 cmDefinePropertyCommand: Refactor to use cmArgumentParser

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !6875
2022-01-19 09:06:58 -05:00
Brad King 2042e0781a Merge topic 'handle_multiple_source_dirs'
b2bc3364f0 CMake: `-S` paths preferred over other provided paths
2e1b7e5b9a Add tests that showcase cmake -S limitations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6874
2022-01-19 09:05:21 -05:00
Brad King c4e4456b9c Merge topic 'update-expat'
9d475d1d82 Merge branch 'upstream-expat' into update-expat
1e2684f0aa expat 2022-01-16 (57c7da69)
a581fbd195 expat: Update script to get Expat 2.4.3

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6873
2022-01-19 09:04:09 -05:00
Brad King 6b44cd7d3a Merge topic 'depfile-parsing-update'
0b65a2b253 add_custom_command(DEPFILE): ensure all dependencies are taken into account
e04a352cca Depfile parsing: enhance compatibility with GNU Make

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !6861
2022-01-19 09:02:57 -05:00
Marc Chevrier 219dde4ea8 CheckPIESupported: now uses any SYSROOT settings
Fixes: 23053
2022-01-19 10:49:23 +01:00
Marc Chevrier 4fa105d34e Check{Compiler,Linker}Flag: Add possibility to retrieve check outputs 2022-01-19 10:49:23 +01:00
Kitware Robot 58804d1e58 CMake Nightly Date Stamp 2022-01-19 00:02:16 -05:00
Duncan Ogilvie 9278c6e01a ccmake: Add Windows support using PDCurses 2022-01-18 16:35:39 -05:00
Duncan Ogilvie b97c12babb ccmake: Refactor resizing logic into cmCursesForm 2022-01-18 16:35:10 -05:00
Brad King bf11dab49d ccmake: Refactor BUILD_CursesDialog option logic
Move all the current logic behind `if(UNIX)` conditions to make room
for other platforms to be added.
2022-01-18 16:34:43 -05:00
Brad King bf94e01348 cmpdcurses: Add CMake build system 2022-01-18 16:29:34 -05:00
Kyle Edwards edb5059216 define_property(): Make BRIEF_DOCS and FULL_DOCS optional
Issue: #20698
2022-01-18 15:52:01 -05:00
Kyle Edwards 7d26baff46 cmDefinePropertyCommand: Refactor to use cmArgumentParser 2022-01-18 15:52:01 -05:00
Brad King 9e38bfa915 CPack/DMG: Add explicit option to use CPACK_RESOURCE_FILE_LICENSE for SLA
Since macOS 12.0, the ``hdiutil udifrez`` and ``hdiutil udifderez``
commands to embed and extract resources in a disk image are deprecated.
The CPack DragNDrop Generator uses these to attach the SLA specified by
the `CPACK_RESOURCE_FILE_LICENSE` option.  Since that option is shared
by multiple CPack generators, we cannot deprecate it.  Instead, add an
explicit option to control the behavior.  This will give projects a way
to package on future macOS versions that remove the commands.

In order to provide a long-term transition away from attaching SLAs to
disk images, update `cpack` to default this behavior to OFF.  To retain
compatibility for CMake projects, teach the CPack module to default the
option to ON.  Later a policy can be added to change the default.

Issue: #22978
2022-01-18 15:39:51 -05:00
Brad King 542ba6ac1a Tests: Add CPack/DMG case covering SLA from CPACK_RESOURCE_FILE_LICENSE 2022-01-18 15:37:38 -05:00
Robert Maynard b2bc3364f0 CMake: -S paths preferred over other provided paths
When cmake parses `cmake -S <path> <path>` treat the second
path as the build directory. Likwise when invoked with
`<path> -S <path>` treat the first path as the build path
instead of using the current working directory.
2022-01-18 15:28:39 -05:00
Brad King 9d475d1d82 Merge branch 'upstream-expat' into update-expat
* upstream-expat:
  expat 2022-01-16 (57c7da69)
2022-01-18 12:18:57 -05:00
Expat Upstream 1e2684f0aa expat 2022-01-16 (57c7da69)
Code extracted from:

    https://github.com/libexpat/libexpat.git

at commit 57c7da69b78e3698e112a6b5da19d5109b8232d1 (R_2_4_3).
2022-01-18 12:13:53 -05:00
Brad King a581fbd195 expat: Update script to get Expat 2.4.3 2022-01-18 12:13:15 -05:00
Brad King a2e42a577b Merge topic 'cuda_host_env'
70f5d9eb49 CUDA: Fix CMAKE_CUDA_COMPILER_ARG1 cache description
ad6cd1074b Help: Correct CUDAHOSTCXX and CUDAARCHS as having higher precedence

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6872
2022-01-18 12:12:09 -05:00
Brad King d77a039cd4 Merge topic 'doc-internal-linker-preference'
d2efc90598 Help: Move linker preference variables to the internal section

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6871
2022-01-18 12:09:59 -05:00
Brad King 0604c79c07 Merge topic 'CheckLinkerFlag-update-implementation'
9d1b9a4aa1 CheckLinkerFlag: rely now on internal implementation
660e0d80ae internal/CheckCompilerFlag: rely on common configuration

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6860
2022-01-18 12:08:58 -05:00
Brad King 8ffa7b7957 Merge topic 'find_library-clean-env'
b916860a48 Tests: Avoid interference from environment in RunCMake.find_library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6868
2022-01-18 12:06:23 -05:00
Brad King 807e0bb95c Merge topic 'add-intel-copyright'
34fcc6b586 Add Intel to the Copyright.txt file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6869
2022-01-18 12:04:52 -05:00
Brad King 869349c710 Merge topic 'IntelLLVM-windows-link-with-driver'
79921fb00c IntelLLVM: Set linker to compiler driver for Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6866
2022-01-18 12:04:02 -05:00
Robert Maynard 2e1b7e5b9a Add tests that showcase cmake -S limitations 2022-01-18 11:53:21 -05:00
Kitware Robot bdee63eef2 CMake Nightly Date Stamp 2022-01-18 00:01:08 -05:00
Kitware Robot bb46b19597 CMake Nightly Date Stamp 2022-01-17 00:02:56 -05:00
Marc Chevrier 0b65a2b253 add_custom_command(DEPFILE): ensure all dependencies are taken into account 2022-01-16 16:21:12 +01:00
Marc Chevrier e04a352cca Depfile parsing: enhance compatibility with GNU Make 2022-01-16 14:05:59 +01:00
Kitware Robot 856fbe62f3 CMake Nightly Date Stamp 2022-01-16 00:02:13 -05:00
Craig Scott b748878880 Merge topic 'doc-LANG_STANDARD_REQUIRED'
acd65d78c4 Help: Actual language standard can be higher than <LANG>_STANDARD

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !6870
2022-01-15 15:45:08 -05:00
Raul Tambre 70f5d9eb49 CUDA: Fix CMAKE_CUDA_COMPILER_ARG1 cache description
Also corrected the misleading indentation.
2022-01-15 21:55:06 +02:00
Raul Tambre ad6cd1074b Help: Correct CUDAHOSTCXX and CUDAARCHS as having higher precedence
For CUDAHOSTCXX the behaviour seems to have been like this since the
introduction of it in commit 9cf5b98d ("CUDA: Prefer environment variables
CUDACXX and CUDAHOSTCXX.", 2016-11-08) and is likely unintentional judging by
the wording of the commit.

The documentation mistake seems to be a copy-paste error from when all the
environment variables were documented in commit e6b77c5f ("Help: Document
CMake's environment variables", 2017-09-01).
Describe this explicitly as it is unlike all other similar environment
variables.

For CUDAARCHS we got it wrong from the get-go in commit c4ae9384 ("CUDA:
Initialize CMAKE_CUDA_ARCHITECTURES using $ENV{CUDAARCHS}", 2020-11-24).

Correcting either to follow the more standard precedence behaviour will require
a policy.

Fixes #23081.
2022-01-15 21:51:21 +02:00
Kitware Robot d9a8744c50 CMake Nightly Date Stamp 2022-01-15 00:02:21 -05:00
Craig Scott d2efc90598 Help: Move linker preference variables to the internal section
These probably should not have been documented as public variables
to begin with. But since they have been documented for a long time,
we can't just remove them from the docs. Move them to the internal
section instead to make it clearer that they are not intended to be used
directly by projects.
2022-01-15 11:09:19 +11:00
Craig Scott acd65d78c4 Help: Actual language standard can be higher than <LANG>_STANDARD
Fixes: #22885
2022-01-15 10:51:07 +11:00