Commit Graph

55897 Commits

Author SHA1 Message Date
Craig Scott
5fbac2bb24 ExternalProject: Move inline scripts to separate files
This makes the scripts easier to work on, since the separate files
don't require the extra level of escaping that the inlined code did.
This also means the scripts can be rendered with appropriate
syntax highlighting in IDEs, etc.
2022-01-22 23:00:26 +11:00
Craig Scott
8feaa41ee9 ExternalProject: Ensure _ep_set_directories records cmake paths 2022-01-22 17:36:39 +11:00
Craig Scott
036517fe0b ExternalProject: Move existing step scripts to separate subdirectory
This is in preparation for moving more inline content to separate
scripts as well. Having them in a separate subdirectory is consistent
with other modules and will make them easier to find and work with.
2022-01-22 16:24:16 +11:00
Brad King
91de0ff599 Merge topic 'define-property-optional-args-documentation'
b7cd51d18a Help: Note the version in which define_property() arguments became optional

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6884
2022-01-21 10:02:33 -05:00
Kyle Edwards
b7cd51d18a Help: Note the version in which define_property() arguments became optional 2022-01-21 09:24:15 -05:00
Brad King
b23f57f307 Merge topic 'cmake-warn-extra-paths'
eacf1f879b cmake: Warn about unnecessary paths on command line
a4f076110d Tests: Fix RunCMake.CommandLine toolchain case command line

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6882
2022-01-21 09:17:27 -05:00
Brad King
a86e42a0f5 Merge topic 'target-properties-from-variables'
fce24e4f10 define_property(): Add INITIALIZE_FROM_VARIABLE argument

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6865
2022-01-21 09:16:46 -05:00
Brad King
54b1bb7cb3 Merge topic 'vs-asan'
d13c8d25e6 VS: Add support for ASAN -fsanitize=address flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6881
2022-01-21 09:13:28 -05:00
Kitware Robot
e2edcd561a CMake Nightly Date Stamp 2022-01-21 00:02:17 -05:00
Robert Maynard
eacf1f879b cmake: Warn about unnecessary paths on command line
We can't make it an error as that would break existing behavior.

Fixes: #23110
2022-01-20 14:38:12 -05:00
Brad King
a4f076110d Tests: Fix RunCMake.CommandLine toolchain case command line 2022-01-20 14:36:48 -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
Hanaa Elghobashi
d13c8d25e6 VS: Add support for ASAN -fsanitize=address flag
Fixes: #21081
2022-01-20 11:46:46 -05:00
Kyle Edwards
fce24e4f10 define_property(): Add INITIALIZE_FROM_VARIABLE argument
Fixes: #20698
2022-01-20 09:05: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