Commit Graph

61548 Commits

Author SHA1 Message Date
Brad King
72915b1068 FindHDF5: Fix compiler wrapper checks with spaces in path
Some HDF5 compiler wrappers do not support source file paths that
contain spaces.  Pass source files to them using a file name in the
current working directory to avoid spaces.
2023-03-29 17:18:29 -04:00
Brad King
63441bb920 Merge branch 'release-3.26' 2023-03-29 14:59:59 -04:00
Brad King
bef6a27531 CMake 3.26.2 v3.26.2 2023-03-29 14:19:57 -04:00
Brad King
f3e348b62e Merge topic 'install-namelink-no-rpath'
9c14f14848 install(TARGETS): Do not apply installation tweaks to NAMELINK files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8370
2023-03-29 09:15:56 -04:00
Brad King
469506aee8 Merge topic 'doc-compile-options'
e2830cf16b Help: Link to COMPILE_LANGUAGE genex from target_compile_options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8369
2023-03-29 09:14:34 -04:00
Brad King
b164772f13 Merge branch 'release-3.26' 2023-03-29 09:13:33 -04:00
Brad King
d79237a580 Merge topic 'swift-old-driver'
006e1995eb Swift: Restore compatibility with old C++ driver

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8365
2023-03-29 09:13:33 -04:00
Brad King
0849598ff8 Merge topic 'swift-old-driver' into release-3.26
006e1995eb Swift: Restore compatibility with old C++ driver

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8365
2023-03-29 09:13:31 -04:00
Kitware Robot
79a8f6da5d CMake Nightly Date Stamp 2023-03-29 00:01:08 -04:00
Brad King
9c14f14848 install(TARGETS): Do not apply installation tweaks to NAMELINK files
These files are symlinks to the real binaries, and we already apply
tweaks to those.  Previously we generated installation tweak code
guarded by a `NOT IS_SYMLINK` condition that is never true.  Drop the
code altogether.

Add a test covering the motivating use case, in which a `POST_BUILD`
step modifies the namelink file to not actually be a symlink.

Fixes: #24647
2023-03-28 12:06:24 -04:00
Brad King
e2830cf16b Help: Link to COMPILE_LANGUAGE genex from target_compile_options
Issue: #24639
2023-03-28 10:57:31 -04:00
YR Chen
006e1995eb Swift: Restore compatibility with old C++ driver
The `-wmo` flag added by commit 6063428de7 (Swift: Update default build
flags, 2022-10-03, v3.26.0-rc1~585^2~1) behaves differently with the old
driver.  Detect when the old driver is being used, and avoid adding that
flag.

Fixes: #24641
2023-03-28 10:02:05 -04:00
Brad King
f4b8176447 Merge topic 'lint-genex'
099934e313 Add generator expression support to static code analysis hooks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8361
2023-03-28 08:18:43 -04:00
Brad King
f81cc5e2c0 Merge topic 'gitignore-cleanup'
8b09484588 gitignore: Pin directory exclusions to top-level

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8364
2023-03-28 08:16:07 -04:00
Brad King
3beeca8e36 Merge topic 'FindPython-Windows-ARM'
9913c28ebb FindPython: Add Windows/ARM support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: David Lechner <david@lechnology.com>
Merge-request: !8354
2023-03-28 08:15:14 -04:00
Brad King
eb890ba3fc Merge topic 'file-GET_RUNTIME_DEPENDENCIES-windows-casing'
5922c86ed6 file(GET_RUNTIME_DEPENDENCIES): Document case-preserving change on Windows
7dffe99ad8 Tests: Restore CudaOnly.RuntimeControls cudart verification on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Merge-request: !8367
2023-03-28 08:13:31 -04:00
Brad King
537b0fdf34 Merge branch 'release-3.26' 2023-03-28 08:11:09 -04:00
Brad King
0b2b89cd93 Merge topic 'mingw-slashes'
a67cd9c39c Ninja: Restore slash style for MinGW tools when extra languages are enabled

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8368
2023-03-28 08:11:09 -04:00
Brad King
fbe739ec61 Merge topic 'mingw-slashes' into release-3.26
a67cd9c39c Ninja: Restore slash style for MinGW tools when extra languages are enabled

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8368
2023-03-28 08:11:08 -04:00
Kitware Robot
3726584a28 CMake Nightly Date Stamp 2023-03-28 00:01:08 -04:00
Brad King
a67cd9c39c Ninja: Restore slash style for MinGW tools when extra languages are enabled
Since commit f3ca199c9b (cmGlobalNinjaGenerator: Factor out GNU-like
command-line detection on Windows, 2023-03-18, v3.26.1~2^2~6), we
accidentally "unrecognize" MinGW tools on Windows if a language other
than C or CXX is enabled.  This causes the wrong slash style to be
generated in paths in `build.ninja`.

Fixes: #24642
2023-03-27 18:20:23 -04:00
Brad King
8b09484588 gitignore: Pin directory exclusions to top-level
Previously, new files in test directories named `Build*` on
case-insensitive filesystems were being incorrectly ignored.

While at it, add more comments justifying some entries.
2023-03-27 16:20:07 -04:00
Stefan Schober
099934e313 Add generator expression support to static code analysis hooks
Teach target properties `<LANG>_CPPCHECK`, `<LANG>_CPPLINT`,
`<LANG>_CLANG_TIDY` and `<LANG>_INCLUDE_WHAT_YOU_USE` to accept
generator expressions.
2023-03-27 11:48:41 -04:00
Brad King
2deb22e160 Merge topic 'crosscompiling-warn-reset'
4d23636694 Warn if CMAKE_CROSSCOMPILING is true without CMAKE_SYSTEM_NAME set

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8358
2023-03-27 09:53:53 -04:00
Brad King
c0d50bf83f Merge topic 'doc-set-no-values'
512f64289a Help: Clarify that set(VAR) unsets VAR

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8362
2023-03-27 09:52:48 -04:00
Brad King
99bdb81fff Merge branch 'release-3.26' 2023-03-27 09:51:59 -04:00
Brad King
367aa65a9f Merge topic 'module-depends-static-lib-cycle'
01d7860fdb Ninja,Makefile: Restore Fortran module scanning in static library cycle
846baa7c5b cmGlobalGenerator: Factor out helper to check target ordering

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8363
2023-03-27 09:51:59 -04:00
Brad King
381327c944 Merge topic 'module-depends-static-lib-cycle' into release-3.26
01d7860fdb Ninja,Makefile: Restore Fortran module scanning in static library cycle
846baa7c5b cmGlobalGenerator: Factor out helper to check target ordering

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8363
2023-03-27 09:51:58 -04:00
Brad King
5922c86ed6 file(GET_RUNTIME_DEPENDENCIES): Document case-preserving change on Windows
In commit fa45594407 (file(GET_RUNTIME_DEPENDENCIES): Preserve casing
for Windows PE binaries, 2023-03-06) we neglected to update associated
documentation.
2023-03-27 09:49:51 -04:00
Brad King
7dffe99ad8 Tests: Restore CudaOnly.RuntimeControls cudart verification on Windows
Since commit fa45594407 (file(GET_RUNTIME_DEPENDENCIES): Preserve casing
for Windows PE binaries, 2023-03-06) we may find the cudart runtime
library with its on-disk casing instead of always lower-case.
2023-03-27 09:27:53 -04:00
Kitware Robot
d0ba947070 CMake Nightly Date Stamp 2023-03-27 00:01:22 -04:00
Marc Chevrier
9913c28ebb FindPython: Add Windows/ARM support
Fixes: #24587
2023-03-26 10:58:12 +02:00
Kitware Robot
12a185a268 CMake Nightly Date Stamp 2023-03-26 00:01:05 -04:00
Kitware Robot
6171ea1764 CMake Nightly Date Stamp 2023-03-25 00:01:06 -04:00
Brad King
01d7860fdb Ninja,Makefile: Restore Fortran module scanning in static library cycle
Since

* commit eed295fd8a (cmGlobalNinjaGenerator: require that dependency info
                     files work, 2023-02-01, v3.26.0-rc1~1^2~1), and
* commit 13810dee17 (cmDependsFortran: require that dependency info files
                     work, 2023-02-01, v3.26.0-rc1~1^2),

the Ninja and Makefile generators' module dependency scanning requires
that scanning results from from linked targets is available before
scanning the current target.  In the case of a static library cycle,
we cannot expect this information from other static libraries in the
cycle.  Previously we supported cyclic cases at the cost of silently
ignoring missing information.

We already compute a global order of targets that respects all
`add_dependencies`, but may break `target_link_libraries` dependencies
that occur in a static library cycle.  Use this order to filter the
linked targets so we only expect scanning results to be available from
those targets that build before the current target.

This approach is sufficient to support module dependency scanning in
static library cycles as long as module dependencies do not cross
between two libraries in the same cycle.

Fixes: #24631
2023-03-24 15:57:52 -04:00
Brad King
846baa7c5b cmGlobalGenerator: Factor out helper to check target ordering 2023-03-24 15:57:52 -04:00
Brad King
512f64289a Help: Clarify that set(VAR) unsets VAR
Also call out possible exposure of an existing cache entry of the same
name, as we have for the `unset` command since commit 1a0f1a25a4 (Help:
Clarify the unset command, 2018-08-17, v3.13.0-rc1~199^2).

Issue: #24633
2023-03-24 14:44:45 -04:00
Martin Storsjö
4d23636694 Warn if CMAKE_CROSSCOMPILING is true without CMAKE_SYSTEM_NAME set
Also clarify the `CMAKE_CROSSCOMPILING` documentation to state that
CMake sets the variable automatically.
2023-03-24 11:57:01 -04:00
Brad King
3a9613d28f Merge topic 'ibmclang-aix-thin-lto'
79622d4a3e IBMClang: No thin LTO on AIX

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Rob Boehne <robb@datalogics.com>
Merge-request: !8357
2023-03-24 09:36:45 -04:00
Brad King
89b73ba980 Merge topic 'file-GET_RUNTIME_DEPENDENCIES-windows-casing'
fa45594407 file(GET_RUNTIME_DEPENDENCIES): Preserve casing for Windows PE binaries
14cfd6a1eb Tests: Add test for file(GET_RUNTIME_DEPENDENCIES) with MixedCase.dll

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8291
2023-03-24 09:36:00 -04:00
Kitware Robot
c4c4ca0e87 CMake Nightly Date Stamp 2023-03-24 00:01:05 -04:00
Christian Heimlich
fa45594407 file(GET_RUNTIME_DEPENDENCIES): Preserve casing for Windows PE binaries
For Windows PE files the `file(GET_RUNTIME_DEPENDENCIES)` command
converts the name of all  DLLs found during binary scanning to
lowercase in order to simplify the syntax requirements of its regex
filters; however, this has the side-effect of causing all DLL paths
returned via RESOLVED_DEPENDENCIES_VAR to be in lowercase, regardless
of their actual casing.

Instead, respect the original casing as closely as possible when
returning resolved dependencies after all filters have been
passed:

When evaluating a Windows PE format binary on a non-Windows host
the casing of dependencies recorded within the binary are
used. When the host is running Windows, the actual casing of the
dependencies on-disk are used instead.

Fixes: #23091
2023-03-23 15:19:26 -04:00
Christian Heimlich
14cfd6a1eb Tests: Add test for file(GET_RUNTIME_DEPENDENCIES) with MixedCase.dll
Issue: #23091
2023-03-23 14:31:19 -04:00
Nicole Rabjohn
79622d4a3e IBMClang: No thin LTO on AIX
AIX does not yet support thin LTO.
2023-03-23 11:46:17 -04:00
Brad King
c96f977017 Merge branch 'release-3.26' 2023-03-23 10:03:49 -04:00
Brad King
fae6e8c2cd CMake 3.26.1 v3.26.1 2023-03-23 09:12:04 -04:00
Brad King
5386dc582b Merge topic 'autogen-exe-vars'
b3d1797508 Autogen: Add CMAKE_AUTO*_EXECUTABLE variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8352
2023-03-23 08:46:45 -04:00
Brad King
ec060e6761 Merge branch 'release-3.26' 2023-03-23 08:42:54 -04:00
Brad King
7ef184f726 Merge topic 'FindHDF5-CXX-without-C'
a6bb4975ab FindHDF5: Restore parallel HDF5 detection with only CXX enabled

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8355
2023-03-23 08:42:54 -04:00
Brad King
e133fe3c03 Merge topic 'FindHDF5-CXX-without-C' into release-3.26
a6bb4975ab FindHDF5: Restore parallel HDF5 detection with only CXX enabled

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8355
2023-03-23 08:42:53 -04:00