Commit Graph

14217 Commits

Author SHA1 Message Date
Brad King
a20377e41a Merge topic 'cpack-debian-multiarch'
71c631c435 CPack/DEB: Add Multi-Arch support
55524c48a4 CPack/DEB: Add Multi-Arch support
a022705a2e Tests/RunCMake/CPack: Improve README

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9609
2024-06-26 08:44:02 -04:00
Brad King
05b4883bfe Merge topic 'find_library-per-arch-lib-with-sysroot'
e74fba3d9c find_library: Search per-arch lib directories when compiling with sysroot

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9614
2024-06-24 09:29:52 -04:00
Brad King
d395fb38e5 Merge topic 'apple-framework-bundle-name'
8a06f173d9 Apple: Add CFBundleName to framework Info.plist files
7c1a18655b Tests/RunCMake/Framework: Improve failure messages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Jason Juang <jasjuang@gmail.com>
Merge-request: !9610
2024-06-24 09:28:44 -04:00
Brad King
4cc832f797 Merge topic 'link-feature-attributes-stabilization'
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:48 -04:00
Robert Schuster
55524c48a4 CPack/DEB: Add Multi-Arch support
Add support for Multi-Arch in control files of Debian packages.
Valid values: same, foreign, allowed

Fixes: #21445
2024-06-21 12:27:50 -04:00
Brad King
d13afe720a Merge topic 'masm-static-lib'
faadb86474 ASM_MASM: Add support for masm-only static libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9612
2024-06-21 10:42:10 -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
Harmen Stoppels
e74fba3d9c find_library: Search per-arch lib directories when compiling with sysroot
When using Gentoo Prefix on Debian, find_library for libm.so fails,
because it needs to locate the lib in $sysroot/usr/lib64/libm.so, i.e.
lib64/ not lib/.

To fix this, do not disable per-arch lib directories when a sysroot is
set.

Fixes: #26069
2024-06-21 10:53:16 +02:00
Brad King
8a06f173d9 Apple: Add CFBundleName to framework Info.plist files
Fixes: #26046
2024-06-20 10:33:07 -04:00
Jeremy Koritzinsky
faadb86474 ASM_MASM: Add support for masm-only static libraries
Set correct command to create a static library for Microsoft assembly
dialects.

Fixes: #18889
2024-06-20 10:14:59 -04:00
Brad King
2af60b1551 Merge topic 'cpackrpm_owner_execute'
f73ad97220 CPack/RPM: Fix debuginfo permissions check

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9603
2024-06-18 11:01:53 -04: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
Carlo Marcelo Arenas Belón
8a33068afe visibility: add support for Oracle Developer Studio 12.6
While an `-fvisibility` flag was added in the previous version, it
throws warnings indicating it would be ignored unless given to the
linker and fails to work properly.

Tested on Solaris 11.3 SPARC and Solaris 11.4 x86/SPARC.
2024-06-12 03:05:28 -07:00
Brad King
09f2031825 Merge topic 'clang-ansi-color'
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:50 -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
024d503f4c Merge topic 'fc-cmp0168-fresh'
9299cbbdb4 FetchContent: Force cmake --fresh to re-execute direct population steps
e82e2c38c1 Tests: RunCMake.FetchContent should not always force _deps removal
f97b25ec4b Tests: Fix -direct variants of FetchContent tests using wrong files
11b684c449 FetchContent: Fix typos in stamp/step file names
a02eec4a9f FetchContent,ExternalProject: Fix extra semicolons in step commands

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9589
2024-06-10 11:50:41 -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
60da7cb84e Merge topic 'doc-add_subdirectory-EXCLUDE_FROM_ALL'
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:59 -04: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
7d71feb0ac Merge topic 'post-rel-dev'
115425e68c Configure CMake itself with policies through CMake 3.29
ed376e470e export: Increase maximum policy version in exported files to 3.29
4394464501 Add deprecation warnings for policies CMP0129 and below
2eb4382d6b Tests: Modernize RunCMake.CMP0129 test conventions and conditions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9585
2024-06-06 08:39:57 -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
ed376e470e export: Increase maximum policy version in exported files to 3.29
The files generated by `install(EXPORT)`, `export()`, and
`install_jar_exports()` commands are known to work with policies
as of CMake 3.29, so enable them in sufficiently new CMake versions.
2024-06-05 13:23:38 -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