Commit Graph

14213 Commits

Author SHA1 Message Date
Brad King
21808be3bf Merge topic 'FindPython-WIN32-EXECUTABLE_DEBUG' into release-3.30
c25df125e1 FindPython: Fix usage of cached variable _Python_EXECUTABLE_DEBUG

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Hillel Sims <hsims1@bloomberg.net>
Merge-request: !9686
2024-07-29 11:01:34 -04:00
Marc Chevrier
c25df125e1 FindPython: Fix usage of cached variable _Python_EXECUTABLE_DEBUG
Fixes: #26163
2024-07-26 14:36:20 +02:00
Craig Scott
5df592ce31 FetchContent: Ensure can_fetch_default is set early enough
The can_fetch_default variable needs to be set before the call to
_ep_write_gitupdate_script(). Move it to before that call and always
set the variable, even if arg_SCRIPT_FILE is not set. This makes the
generated git update script file easier to follow if someone tries to
follow what it is doing or wants to investigate problems and run it
manually.

Fixes: #26164
2024-07-26 11:23:58 +10:00
Craig Scott
c233c51cb9 ExternalProject: Fix bad indenting for uses_terminal 2024-07-26 10:58:19 +10:00
Brad King
aad3ee074b Merge topic 'ep-svn-user-pass' into release-3.30
e16f65be15 ExternalProject: Don't add SVN auth args if not set

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9678
2024-07-23 09:53:27 -04:00
Craig Scott
e16f65be15 ExternalProject: Don't add SVN auth args if not set
In 462e583267 (ExternalProject: Switch download, update and patch to
use _EP_ vars, 2024-05-13), the svn_username and svn_password variables
were only updated appropriately in the svn download implementation, but
not in the svn update implementation. This was easily missed in part
because the old implementation was relying on behavior that differed
from the documentation for get_property(), and the new implementation
tried to keep the intermediate variables from the old implementation but
missed this subtle aspect.

Issue: #26152
Fixes: #26148
2024-07-20 11:58:33 +10:00
Brad King
74beb6dba8 Xcode: Restore support for CMAKE_OSX_ARCHITECTURES=$(ARCHS_STANDARD)
Skip the `CMAKE_OSX_ARCHITECTURES` validation added by commit db409e5e68
(APPLE: Check if compilers respect CMAKE_OSX_ARCHITECTURES, 2024-05-04,
v3.30.0-rc1~15^2) if the value contains a placeholder, since we do not
know the real value.

Fixes: #26128
2024-07-19 09:42:45 -04:00
Brad King
0c567293bf Merge topic 'IntelLLVM-layout-2024' into release-3.30
ceb58f0ccf IntelLLVM: Update toolchain layout for 2024+ versions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9653
2024-07-16 10:30:50 -04:00
Pavel Liavonau
ceb58f0ccf IntelLLVM: Update toolchain layout for 2024+ versions
HPC Intel changed layout of llvm related binary files from
`bin/../bin-llvm` to `bin/compiler`.
2024-07-15 17:07:55 -04:00
Brad King
70cbcb1da3 FindMatlab: Restore support for finding Matlab without any languages
Revise commit 657064b6d4 (FindMatlab: Refactor: Eliminate
_matlab_64Build, 2024-01-24, v3.30.0-rc1~594^2~5) to more faithfully
reproduce the original behavior.

Revise commit 91c672e5ae (FindMatlab: Use find_package(Threads) instead
of checking -pthread, 2024-02-02, v3.30.0-rc1~594^2~1) to restore the
old behavior of looking for threads only with C or CXX enabled.

Fixes: #26121
2024-07-15 15:01:15 -04:00
Craig Scott
8c878b2d2e FetchContent: Fix command echo for DEBUG and TRACE log levels
Fixes: #26111
2024-07-04 21:10:34 +10:00
Brad King
c3046ea289 Merge topic 'link-feature-attributes-stabilization' into release-3.30
576567f028 Link feature attributes: stabilization
5617c34c31 Libraries processing: update configuration wording

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9607
2024-06-24 09:22:47 -04:00
Marc Chevrier
576567f028 Link feature attributes: stabilization
* enhance OVERRIDE handling
* Update wording
2024-06-21 11:18:20 +02:00
Marc Chevrier
5617c34c31 Libraries processing: update configuration wording 2024-06-21 11:18:12 +02:00
Adrian DC
f73ad97220 CPack/RPM: Fix debuginfo permissions check
Replace non-existent 'USER_EXECUTE' with intended 'OWNER_EXECUTE'.

Signed-off-by: Adrian DC <radian.dc@gmail.com>
2024-06-17 11:54:16 -04:00
Brad King
4036eafd95 Merge topic 'clang-ansi-color' into release-3.30
1004cc2b52 Clang: Drop non-existent -fno-ansi-escape-codes flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9592
2024-06-11 10:56:48 -04:00
Brad King
1004cc2b52 Clang: Drop non-existent -fno-ansi-escape-codes flag
In commit 74b5fae52d (Clang: Use -fno-ansi-escape-codes for color
diagnostics on Windows, 2023-10-19, v3.28.0-rc3~3^2) we added the
positive option `-fansi-escape-codes` and the negative form of
the option, `-fno-ansi-escape-codes`.  According to the LLVM/Clang
documentation:

* https://releases.llvm.org/18.1.4/tools/clang/docs/UsersManual.html#cmdoption-fansi-escape-codes

only the positive form of the option exists.

Fixes: #26036
2024-06-10 09:23:41 -04:00
Craig Scott
9299cbbdb4 FetchContent: Force cmake --fresh to re-execute direct population steps
Issue: #25468
2024-06-07 18:12:12 +10:00
Craig Scott
11b684c449 FetchContent: Fix typos in stamp/step file names
The exact file names don't technically matter, but the wrong
names are confusing and misleading.
2024-06-07 16:59:20 +10:00
Craig Scott
a02eec4a9f FetchContent,ExternalProject: Fix extra semicolons in step commands
The extra semicolons weren't ultimately causing any errors when
running the step commands, but they shouldn't be there.
2024-06-07 16:58:08 +10:00
Brad King
97328b05c3 Merge topic 'doc-add_subdirectory-EXCLUDE_FROM_ALL' into release-3.30
2449c04d8d Help: improve docs for the EXCLUDE_FROM_ALL directory property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9497
2024-06-06 08:41:58 -04:00
Brad King
614100dbf6 CPack/WiX: Restore default (missing) InstallScope from 3.28 and lower
In commit 60661f6770 (CPack/WiX: Make InstallScope configurable,
2023-11-07, v3.29.0-rc1~413^2) the `CPACK_WIX_INSTALL_SCOPE` default was
set to `perMachine`.  While installers created with `perMachine` have
better behavior on their own than installers created without any
`InstallScope`, they do not cleanly convert existing installations on
updates.

Fixes: #26029
2024-06-05 14:01:14 -04:00
Brad King
a67bb7f488 Merge topic 'FindPython-free-threaded-python'
9a0dee7257 FindPython: Add support for free threaded python
4178ab928f FindPython: Fix spelling error

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9578
2024-06-05 09:34:03 -04:00
Brad King
ea03beed31 Merge topic 'macos-check-archs'
db409e5e68 APPLE: Check if compilers respect CMAKE_OSX_ARCHITECTURES
598bc70474 file: Add undocumented READ_MACHO subcommand on macOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9492
2024-06-05 09:23:42 -04:00
Marc Chevrier
9a0dee7257 FindPython: Add support for free threaded python
Fixes: #26016
2024-06-04 18:14:35 +02:00
Alex Neundorf
2449c04d8d Help: improve docs for the EXCLUDE_FROM_ALL directory property
This patch improves the wording of the documentation of the
EXCLUDE_FROM_ALL directory property, and makes the
add_subdirectory()- and fetchcontent-documentation refer to it.
2024-06-04 16:58:54 +02:00
Brad King
57c6dd277e Merge topic 'cpack-nuget-dependency-groups'
0f4d3664a9 CPack/NuGet: Build dependencies in groups

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9544
2024-06-04 08:59:28 -04:00
René Bertin
db409e5e68 APPLE: Check if compilers respect CMAKE_OSX_ARCHITECTURES
Not all compilers that can be used on APPLE platforms will respect
the architecture(s) set in CMAKE_OSX_ARCHITECTURES and some will
not raise an error if they are unable to do this. For instance,
GCC will accept ignore additional architectures specified after the
first -arch XXX (with a non-fatal warning) and will even link the
simple test applications used in the ABI determination (and other
tests that don't require external libraries) if an architecture
is requested for which it doesn't have the required "multilib"
set-up.

Prevent unexpected build results or build failures that may occur
after a lengthy build process: verify that the binary used to obtain
the ABI information contains the requested architectures.

Fixes: #25952
2024-06-04 08:37:50 -04:00
Alex Opie
0f4d3664a9 CPack/NuGet: Build dependencies in groups
This allows particular frameworks to be targeted by
particular dependencies, and for empty dependency
groups to satisfy NuGet's framework-matching
requirements.
2024-06-03 11:28:49 -04:00
Brad King
54551123d2 Merge topic 'checklanguage-modulepath'
980c1ce3c8 CheckLanguage: Pass along CMAKE_MODULE_PATH

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9565
2024-06-03 09:09:56 -04:00
Brad King
640a167d03 Merge topic 'ep-disable-source-changes'
0cc1b550dd ExternalProject,FetchContent: Avoid CMAKE_DISABLE_SOURCE_CHANGES error

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9569
2024-06-03 09:07:46 -04:00
Craig Scott
95bbd028f0 Merge topic 'doc-cpack-reuse-CMakeFindBinUtils'
dca468e1de Help: Improve and clarify wording for CPACK_<TOOL>_EXECUTABLE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9566
2024-06-01 18:20:20 -04:00
Brad King
107d6336b3 Merge topic 'cpack-deb-shlibdeps'
27d161eac3 CPackDeb: dpkg-shlibdeps shall consider dependency components, too

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9531
2024-05-31 09:23:36 -04:00
Brad King
5899d11a8e Merge topic 'FindMPI-FujitsuClang'
7332f28f68 FindMPI: Add support for FujitsuClang wrappers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9561
2024-05-31 09:18:11 -04:00
Craig Scott
0cc1b550dd ExternalProject,FetchContent: Avoid CMAKE_DISABLE_SOURCE_CHANGES error
The file(MAKE_DIRECTORY) implementation checks whether a path is
allowed to be written to before it checks if it already exists. For the
scenario where a SOURCE_DIR is an existing directory within the main
project's source directory, this triggers a fatal error if
CMAKE_DISABLE_SOURCE_CHANGES is set to true for ExternalProject,
and some FetchContent scenarios. Therefore, add an explicit check for
existence first to avoid making such error-triggering calls.

Fixes: #21872
2024-05-31 18:01:27 +10:00
Craig Scott
dca468e1de Help: Improve and clarify wording for CPACK_<TOOL>_EXECUTABLE
Fixes: #24253
2024-05-31 15:00:14 +10:00
Darryl Pogue
980c1ce3c8 CheckLanguage: Pass along CMAKE_MODULE_PATH
Closes #26020.
2024-05-30 15:38:55 -07:00
domke
7332f28f68 FindMPI: Add support for FujitsuClang wrappers
Prefer these when the project is built with FujitsuClang.
2024-05-30 10:21:45 -04:00
Deniz Bahadir
27d161eac3 CPackDeb: dpkg-shlibdeps shall consider dependency components, too
When using `dpkg-shlibdeps` to automatically determine package
dependencies it considers the RUNPATH/RPATH of executables in order to
find all required shared libraries of such executables.

If the RUNPATH/RPATH contains a verbatim `$ORIGIN` (respective
`${ORIGIN}`), it will now be substituted by the packaging-paths of other
components that are marked as dependency and those paths will then be
used as additional search directories for `dpkg-shlibdeps`.

Associated tests were added as well.

Fixes: #21838
2024-05-30 16:13:46 +02:00
Brad King
679a3d9e6c Merge topic 'enforce-fc-fully-disconnected-requirements'
f588421b58 FetchContent: Enforce FETCHCONTENT_FULLY_DISCONNECTED requirements

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9556
2024-05-30 10:13:29 -04:00
Brad King
c024b5cf9a Merge topic 'CUDAToolkit_search_non_activated_compiler_paths'
eed16fbc00 FindCUDAToolkit: Use CUDA compiler path even when CUDA lang not enabled

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9558
2024-05-30 10:12:39 -04:00
Brad King
6f365e1c5b Merge topic 'FindBLAS-LAPACK-libblastrampoline'
847a25c823 FindBLAS/LAPACK: Add libblastrampoline support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Mosè Giordano <mose@gnu.org>
Merge-request: !9557
2024-05-30 10:11:47 -04:00
Robert Maynard
eed16fbc00 FindCUDAToolkit: Use CUDA compiler path even when CUDA lang not enabled
Fixes: #25567
2024-05-29 14:39:29 -04:00
Ian McInerney
847a25c823 FindBLAS/LAPACK: Add libblastrampoline support
libblastrampoline is a BLAS/LAPACK demuxing layer to allow selecting a
BLAS/LAPACK library at runtime.

Fixes: #25913
2024-05-29 09:21:07 -04:00
Brad King
54c9185b33 Merge topic 'deprecate-fetchcontent_populate'
4370fcf750 FetchContent: Deprecate FetchContent_Populate(depName)
bc70b458ad Help: Minor grammar improvements for FetchContent

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9552
2024-05-29 08:41:57 -04:00
Craig Scott
f588421b58 FetchContent: Enforce FETCHCONTENT_FULLY_DISCONNECTED requirements
FETCHCONTENT_FULLY_DISCONNECTED should only be set to true if
each dependency's source directory has already been populated.
Previously, this wasn't being checked, but now it is (subject to a new
policy).
2024-05-29 20:39:17 +10:00
Craig Scott
4370fcf750 FetchContent: Deprecate FetchContent_Populate(depName)
Projects should use FetchContent_MakeAvailable(depName)
instead. Policy CMP0169 provides backward compatibility.
2024-05-29 18:52:24 +10:00
Craig Scott
46d00d425c Merge topic 'fetchcontent_policies_block'
a837f15ebf FetchContent: Set policies for most commands

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9551
2024-05-28 06:43:32 -04:00
Craig Scott
a837f15ebf FetchContent: Set policies for most commands
Previously, FetchContent was relying on the policies of the
includer being compatible with the module. That made the
module vulnerable to subtle problems where policy settings
might lead to unexpected behavior.

With this change, we now specify the policies for as much of
the module as we can without breaking backward compatibility.
Only a few specific implementation details of the
FetchContent_MakeAvailable() macro have to remain uncontrolled
due to the way those parts can invoke user or project code which
may be relying on the includer's policy settings (intentionally or not).
2024-05-27 20:52:16 +10:00
Craig Scott
bc70b458ad Help: Minor grammar improvements for FetchContent 2024-05-27 08:24:10 +10:00