Commit Graph

67606 Commits

Author SHA1 Message Date
Brice Decaestecker
dccf2bdb75 Tutorial: Restore TODO 4 comment in step 7
Restore a comment added by commit f9ef15f3dc (Tutorial: Update step 7
style, 2022-10-07, v3.26.0-rc1~482^2) that was accidentally removed by
commit 8ddf32196c (Tutorial: Refactor MathFunctions code, 2023-02-10,
v3.27.0-rc1~441^2).
2024-11-27 09:28:34 -05:00
Brad King
2fad42832d Merge topic 'aix-archive-shared-libraries-export' into release-3.31
cd6fb63093 AIX: Propagate AIX_SHARED_LIBRARY_ARCHIVE through exports

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10027
2024-11-23 15:12:49 -05:00
Brad King
5caaf1d651 Merge topic 'aix-archive-shared-libraries-genex' into release-3.31
f923463f2b AIX: Disallow TARGET_SONAME_* genex for AIX_SHARED_LIBRARY_ARCHIVE targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10028
2024-11-22 12:30:59 -05:00
Brad King
cd6fb63093 AIX: Propagate AIX_SHARED_LIBRARY_ARCHIVE through exports
Teach `export()` and `install(EXPORT)` to record this setting on the
imported targets they generate.  Make this property's non-presence
authoritative on imported targets since they represent what was built
elsewhere.
2024-11-21 19:02:00 -05:00
Brad King
f923463f2b AIX: Disallow TARGET_SONAME_* genex for AIX_SHARED_LIBRARY_ARCHIVE targets
AIX shared library archives have no filesystem artifact named with their
SONAME because it is in an archive.
2024-11-21 18:44:25 -05:00
Brad King
eb281d3454 CMake 3.31.1 v3.31.1 2024-11-21 11:15:52 -05:00
Brad King
0576d076b1 Merge branch 'release-3.30' into release-3.31 2024-11-21 09:54:18 -05:00
Brad King
817707b904 CMake 3.30.6 v3.30.6 2024-11-21 09:18:01 -05:00
Brad King
0349079e35 Merge branch 'release-3.30' into release-3.31 2024-11-21 09:12:04 -05:00
Brad King
66817bd07d Merge branch 'release-3.29' into release-3.30 2024-11-21 09:11:40 -05:00
Brad King
b47368e425 CMake 3.29.9 v3.29.9 2024-11-21 08:34:26 -05:00
Brad King
c1ff140c7c Merge branch 'release-3.30' into release-3.31 2024-11-21 08:26:35 -05:00
Brad King
82aaccc576 Merge topic 'execute_process-OUTPUT_FILE-cloexec' into release-3.31
60af429c5d execute_process: Restore CLOEXEC on OUTPUT_FILE and ERROR_FILE descriptors

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Bertrand Bellenot <bertrand.bellenot@cern.ch>
Merge-request: !10014
2024-11-21 08:24:18 -05:00
Brad King
b669ffe508 Merge branch 'release-3.29' into release-3.30 2024-11-20 11:15:54 -05:00
Brad King
8b410dd156 Merge topic 'execute_process-OUTPUT_FILE-cloexec' into release-3.30
60af429c5d execute_process: Restore CLOEXEC on OUTPUT_FILE and ERROR_FILE descriptors

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10014
2024-11-20 11:15:25 -05:00
Brad King
2ef3bc896b Merge topic 'execute_process-OUTPUT_FILE-cloexec' into release-3.29
60af429c5d execute_process: Restore CLOEXEC on OUTPUT_FILE and ERROR_FILE descriptors

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10014
2024-11-20 11:14:51 -05:00
Brad King
5b2f718f26 Merge topic 'cps-export-experimental-message' into release-3.31
71784bb6d8 cmExperimental: Make CPS-export experimental notice more consistent

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10019
2024-11-20 09:20:03 -05:00
Brad King
60af429c5d execute_process: Restore CLOEXEC on OUTPUT_FILE and ERROR_FILE descriptors
Since commit 5420639a8d (cmExecuteProcessCommand: Replace cmsysProcess
with cmUVProcessChain, 2023-06-01, v3.28.0-rc1~138^2~8), the descriptors
for the `OUTPUT_FILE` and `ERROR_FILE` leak to child processes.

With `ExternalProject` + `INSTALL_COMMAND` + `LOG_INSTALL`, the logging
wrapper script leaks the log files' descriptors to the native build
tool.  If they happen to match the `make` job server's pipe fds, e.g.,
with GNU `make` <= 4.3, then the build fails with an error like:

    gmake[4]: *** read jobs pipe: Bad file descriptor.  Stop.

Fixes: #26398
2024-11-20 06:16:11 -05:00
Matthew Woehlke
71784bb6d8 cmExperimental: Make CPS-export experimental notice more consistent
There is an inadvertent inconsistency in the notice for the CPS export
experimental feature as compared to other experimental feature notices.
Change it to be consistent.
2024-11-19 17:40:06 -05:00
Brad King
6b9aee9f38 Merge topic 'Linux-deduplication-static-libs' into release-3.31
0445190d2f LLD linker: avoid regression on archive libraries deduplication

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10010
2024-11-19 10:14:40 -05:00
Brad King
a59e24cd50 Merge topic 'update-libarchive' into release-3.31
ddb72eb3e6 Merge branch 'upstream-LibArchive' into update-libarchive
ad48f00c30 LibArchive 2024-10-13 (b439d586)
e048b0cc94 libarchive: Update script to get 3.7.7

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10011
2024-11-19 10:12:38 -05:00
Marc Chevrier
0445190d2f LLD linker: avoid regression on archive libraries deduplication
Due to a bug on LLD linker for ELF binaries, deduplication should
occur only if CMP0156 and CMP0179 are NEW.

Fixes: #26447
2024-11-18 21:02:50 +01:00
Brad King
ddb72eb3e6 Merge branch 'upstream-LibArchive' into update-libarchive
# By LibArchive Upstream
* upstream-LibArchive:
  LibArchive 2024-10-13 (b439d586)
2024-11-18 14:17:22 -05:00
LibArchive Upstream
ad48f00c30 LibArchive 2024-10-13 (b439d586)
Code extracted from:

    https://github.com/libarchive/libarchive.git

at commit b439d586f53911c84be5e380445a8a259e19114c (v3.7.7).
2024-11-18 14:17:22 -05:00
Brad King
e048b0cc94 libarchive: Update script to get 3.7.7 2024-11-18 14:15:17 -05:00
Craig Scott
74c1b88859 Merge topic 'cmp0175-restore-USES_TERMINAL-for-TARGET-form' into release-3.31
62586f236c CMP0175: Do not reject USES_TERMINAL for add_custom_command(TARGET)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10005
2024-11-16 16:16:47 -05:00
Brad King
88d85700e0 Merge topic 'ci-xcode-16.1' into release-3.31
c99002c289 ci: update macOS jobs to use Xcode 16.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10004
2024-11-16 08:05:13 -05:00
Craig Scott
62586f236c CMP0175: Do not reject USES_TERMINAL for add_custom_command(TARGET)
Fixes: #26449
2024-11-16 10:02:01 +11:00
Brad King
c99002c289 ci: update macOS jobs to use Xcode 16.1 2024-11-15 10:10:28 -05:00
Brad King
0dffd05287 Merge topic 'doc-vs-old-toolsets' into release-3.31
d44a201004 Help: Clarify instructions for using older VS toolsets with newer VS versions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9997
2024-11-15 09:08:20 -05:00
Brad King
1a6e8d8d33 Merge topic 'deprecate-pre-3.10' into release-3.31
4c4f173876 Clarify advice given by compatibility deprecation message for CMake < 3.10

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Dženan Zukić <dzenan.zukic@kitware.com>
Merge-request: !9996
2024-11-15 09:07:25 -05:00
Brad King
bf4167435a Merge topic 'ci-msvc-14.42' into release-3.31
41150f5c3d ci: Update Windows builds to MSVC 14.42 toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10000
2024-11-15 09:05:09 -05:00
Brad King
41150f5c3d ci: Update Windows builds to MSVC 14.42 toolset 2024-11-14 11:22:57 -05:00
Brad King
d44a201004 Help: Clarify instructions for using older VS toolsets with newer VS versions
Clarify that the newer version of VS must also be installed to use its
corresponding CMake generator.

Issue: #26446
2024-11-14 10:03:32 -05:00
Brad King
4c4f173876 Clarify advice given by compatibility deprecation message for CMake < 3.10
Since commit 84db8506ff (Deprecate compatibility with CMake versions older
than 3.10, 2024-10-03, v3.31.0-rc1~23^2) the `cmake_minimum_required` and
`cmake_policy` commands warn if the project does not enable policies as
of 3.10 or higher.  Clarify the advice given in the warning message about
how to update the version specification, particularly without actually
requiring a newer minimum version of CMake.
2024-11-14 09:40:01 -05:00
Brad King
6a25904983 Merge topic 'musl-linux-any' into release-3.31
d8559ec92e Linux: Recognize multiarch directories for musl-linux-any

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9991
2024-11-13 09:19:23 -05:00
Brad King
3819471e71 Merge topic 'image-magick-7' into release-3.31
f6c6032e22 FindImageMagick: Fix ARCH_INCLUDE_DIR detection for version 7 and newer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9990
2024-11-13 09:18:18 -05:00
Brad King
10f24d1d92 Merge topic 'WHOLE_ARCHIVE-various-systems' into release-3.31
d2997ab601 Linker configuration: Add missing platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9992
2024-11-13 09:17:24 -05:00
Brad King
7c999c19af Merge topic 'gtest-discover-flush-duplicates' into release-3.31
007d7ea648 GoogleTest: Avoid extra call to set DISABLED test property in discovery
9a24c1e802 GoogleTest: Clear script content buffer on flush and flush less often

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9982
2024-11-13 09:14:37 -05:00
Timo Röhling
d8559ec92e Linux: Recognize multiarch directories for musl-linux-any
When bootstrapping Debian for musl-linux-any, the multiarch directories
are not found due to an overly-specific regular expression.

See https://bugs.debian.org/1085507 for the original bug report.
2024-11-12 10:47:40 -05:00
Marc Chevrier
d2997ab601 Linker configuration: Add missing platforms
The following platforms were missing:
* Android
* WindowsCE, WindowsPhone, WindowsStore and WindowsKernelModeDriver

And enhance various Apple platforms support (iOS, tvOS, etc...)

Fixes: #26439
2024-11-12 16:46:54 +01:00
Timo Röhling
f6c6032e22 FindImageMagick: Fix ARCH_INCLUDE_DIR detection for version 7 and newer
The `magick-baseconfig.h` header has been moved to a different subdirectory.

See https://bugs.debian.org/1087233 for the original bug report in Debian.
2024-11-12 10:38:54 -05:00
Craig Scott
007d7ea648 GoogleTest: Avoid extra call to set DISABLED test property in discovery
For very long test names, this can noticeably reduce the size of the
generated file contents when tests are disabled. This change reduces
how far beyond the flush threshold the content can grow before being
flushed.

Issue: #26431
2024-11-12 10:22:23 -05:00
Craig Scott
9a24c1e802 GoogleTest: Clear script content buffer on flush and flush less often
There's no need to check if flushing is needed after every command
is added to the variable holding the script content. It is enough to only
check once per test name. This simplifies the flushing logic, removing
the need for a separate flush_script() command. Previously, we were
not clearing the flushed script contents in all cases, but this is now
rigorously enforced at the one location where flushing is performed.

Also simplify the flushing of the list of test names, since that too doesn't
need a separate command. It is simpler and safer to handle that
directly inline where the one call to flush_tests_buffer() was
previously being made.

Fixes: #26431
2024-11-12 10:22:21 -05:00
Brad King
4f0eb0a41e Merge topic 'FindSQLite3-pkg-config' into release-3.31
2d228201fc Help: Guard calls to pkg_check_modules in cmake-developer(7) example
674a987898 FindSQLite3: Guard calls to pkg_check_modules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9983
2024-11-12 10:16:46 -05:00
Brad King
ab6a317cf1 Merge branch 'release-3.30' into release-3.31 2024-11-12 10:14:05 -05:00
Brad King
20a1ee1a9d Merge topic 'FindBoost-1.86' into release-3.31
f941fb6c0b FindBoost: Add support for Boost 1.86

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9988
2024-11-12 10:13:31 -05:00
Brad King
e6accf384d Merge topic 'ci-fedora-41' into release-3.31
fff8e3f6f3 ci: Rebuild Fedora 41 image with updates

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9989
2024-11-12 10:12:24 -05:00
Brad King
e097ae6478 Merge topic 'FindBoost-1.86' into release-3.30
f941fb6c0b FindBoost: Add support for Boost 1.86

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9988
2024-11-12 10:12:20 -05:00
Brad King
fff8e3f6f3 ci: Rebuild Fedora 41 image with updates
In particular, get:

* flang-19.1.0-2.fc41 to restore OpenMP support
* IWYU 0.23 for LLVM/Clang 19 support
2024-11-11 14:35:00 -05:00