Commit Graph

11530 Commits

Author SHA1 Message Date
Brad King
fd873ccaee Merge topic 'FindBLAS-default-OpenMP'
9ef82d95d8 FindBLAS: Fix detection of OpenMP as dependency of BLA_STATIC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5993
2021-04-08 07:45:14 -04:00
Brad King
9ef82d95d8 FindBLAS: Fix detection of OpenMP as dependency of BLA_STATIC
Update the change from commit f7f3d8987a (FindBLAS: Add dependency of
OpenBLAS on OpenMP for BLA_STATIC, 2020-11-10, v3.20.0-rc1~492^2):

* If C is not enabled, find CXX OpenMP libraries instead.

* Do not use BLA_STATIC's custom CMAKE_FIND_LIBRARY_SUFFIXES for OpenMP.
  It can break projects that already call `find_package(OpenMP)` and
  expect a shared library.  Whether OpenMP is static is orthogonal to
  whether BLAS is static.

Fixes: #22039
Issue: #16221
2021-04-07 11:26:07 -04:00
Brad King
79562b03c1 Merge topic 'binutils-var-private'
4d786dfcfa BinUtils: Avoid clobbering a variable named without a private prefix

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5986
2021-04-07 10:08:09 -04:00
Brad King
f8af94a212 Merge topic 'binutils-var-private' into release-3.20
4d786dfcfa BinUtils: Avoid clobbering a variable named without a private prefix

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5986
2021-04-07 10:08:08 -04:00
Brad King
6968500352 Merge topic 'ios-rpath-linker-flag'
4aed96e230 Apple: Set CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG on non-macOS too

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5980
2021-04-07 10:06:56 -04:00
Brad King
196376a33e Merge topic 'ios-rpath-linker-flag' into release-3.20
4aed96e230 Apple: Set CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG on non-macOS too

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5980
2021-04-07 10:06:55 -04:00
Brad King
4d786dfcfa BinUtils: Avoid clobbering a variable named without a private prefix
Refactoring in commit b12aec6c8d (BinUtils: prefer bin utils matching
the compiler version extension, 2020-12-11, v3.20.0-rc1~171^2)
accidentally leaked a `TOOL` variable.  Name temporary variables with a
private prefix.

Fixes: #22035
2021-04-07 08:43:45 -04:00
Ben Boeckel
cd48433e96 FindHDF5: add compiler-specific module search paths 2021-04-06 08:36:31 -04:00
Ben Boeckel
78287ec0af FindHDF5: track the "main" library for each language
This will be used to build up additional include paths to search.
2021-04-06 08:36:31 -04:00
Ben Boeckel
3654068e80 FindHDF5: find include directories after the library
Some include paths might depend on the library location (primarily for
Fortran).
2021-04-06 08:36:31 -04:00
Brad King
e061a201b6 Merge topic 'nvhpc-lib-arch' into release-3.20
764606e256 CMakeDetermineCompilerABI: Extract lib arch from implicit object file paths
5d44d73bbe CMakeDetermineCompilerABI: Revert "Parse library arch from versioned paths"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5984
2021-04-06 08:32:34 -04:00
Brad King
ebc812a8d1 Merge topic 'nvhpc-lib-arch'
764606e256 CMakeDetermineCompilerABI: Extract lib arch from implicit object file paths
5d44d73bbe CMakeDetermineCompilerABI: Revert "Parse library arch from versioned paths"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5984
2021-04-06 08:32:34 -04:00
Brad King
2d6a3fd626 Merge topic 'UseSWIG-policies' into release-3.20
c3d0b25514 UseSWIG: Transform swig depfile to match Ninja generator paths
8c525d7e16 UseSWIG: Run using policy settings from includer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5983
2021-04-06 08:31:40 -04:00
Brad King
469b58e0b1 Merge topic 'UseSWIG-policies'
05881c1cbe Merge branch 'backport-UseSWIG-policies' into UseSWIG-policies
c3d0b25514 UseSWIG: Transform swig depfile to match Ninja generator paths
8c525d7e16 UseSWIG: Run using policy settings from includer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5983
2021-04-06 08:31:40 -04:00
Brad King
03cfcfb5ad Merge topic 'FindHDF5-new-fortran-library-name'
ff84a80b46 FindHDF5: search for the new Fortran HL library name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5976
2021-04-06 08:30:37 -04:00
Craig Scott
4aed96e230 Apple: Set CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG on non-macOS too
Since CMake 3.19, we no longer support macOS SDKs older than 10.5,
which corresponds to Xcode 3. Supporting older Xcode versions for
device platforms is also not realistic. We therefore expect the -rpath
linker option should always be supported now.

When targeting iOS, tvOS or watchOS, the previous disabling of -rpath
support meant that the install_name_dir of shared libraries and
frameworks was unable to use @rpath. This resulted in embedding
absolute paths for their install_name. When they were embedded in an
app bundle, this would cause the app to fail at runtime. By enabling the
-rpath linker option, the default install_name_dir is now @rpath for these platforms, which results in binaries that do work at runtime.

Fixes: #20036
2021-04-06 11:46:56 +10:00
Robert Maynard
764606e256 CMakeDetermineCompilerABI: Extract lib arch from implicit object file paths
The NVHPC compiler does not have any implicit link directories that can
be used to detect `CMAKE_LIBRARY_ARCHITECTURE`, but it does have
implicit object files.  Extract implicit object file paths from link
lines and check them for the `CMAKE_LIBRARY_ARCHITECTURE` pattern.

Issue: #22024
2021-04-05 17:41:10 -04:00
Robert Maynard
5d44d73bbe CMakeDetermineCompilerABI: Revert "Parse library arch from versioned paths"
The change in commit 657fc3a9a7 (CMakeDetermineCompilerABI: Parse
library arch from versioned paths, 2021-02-03, v3.20.0-rc1~40^2) caused
`CMAKE_LIBRARY_ARCHITECTURE` to be populated on non-multiarch platforms
if their compilers happen to use `$arch/$version` library directories.
Revert the use of versioned library paths.

Fixes: #22024
2021-04-05 16:40:43 -04:00
Brad King
05881c1cbe Merge branch 'backport-UseSWIG-policies' into UseSWIG-policies 2021-04-05 14:38:27 -04:00
Brad King
c3d0b25514 UseSWIG: Transform swig depfile to match Ninja generator paths
Since commit 89b01b04fa (UseSWIG: use swig tool to generate
dependencies, 2021-01-12, v3.20.0-rc1~120^2) we use a tool-provided
depfile to extract dependencies under the Ninja generator.  Enable
`CMP0116` to ensure depfile paths are translated to match what the Ninja
generator writes to the build manfiest.

Fixes: #22029
2021-04-05 14:36:34 -04:00
Marc Chevrier
8c525d7e16 UseSWIG: Run using policy settings from includer
Backport commit de7f0aa6c0 (UseSWIG: avoid spurious policy warnings,
2021-02-11) to the 3.20 release branch.  Projects need to be able to
control policies.

Issue: #22029
2021-04-05 14:00:03 -04:00
Ben Boeckel
ff84a80b46 FindHDF5: search for the new Fortran HL library name
HDF5 1.10.6 renamed this library to match the other language binding
library names.

Fixes: #20205
2021-04-05 11:56:50 -04:00
Brad King
005e1eece8 Merge topic 'cpack-rpm-add-scriplets-tags-only-if-needed'
34c8a23044 CPackRPM: add scriplets tags only if scripts exist

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5970
2021-04-05 11:35:18 -04:00
Brad King
7ce67efda4 Merge topic 'FindMPI-host_link'
666f689e48 FindMPI: avoid host link options to be propagated to device link step

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Acked-by: Alex <leha-bot@yandex.ru>
Merge-request: !5966
2021-04-02 07:53:41 -04:00
Domen Vrankar
34c8a23044 CPackRPM: add scriplets tags only if scripts exist
Scriplet tags should not be added to generated
spec files if scripts weren't provided as those
tags are otherwise present in generated rpm file
even if the script wasn't provided thereby
generating unneeded dependency on shell.

Fixes: #21345
2021-04-01 22:28:24 +02:00
Brad King
0fee2adf8c Merge topic 'fujitsu-compiler-4.0-support'
8ef55dec29 Help: Add release notes for Fujitsu compiler support
4c74c86f40 FindBLAS/LAPACK: Add support for the Fujitsu SSL2 library
376c300b25 FindOpenMP: Add support for Fujitsu compilers
9e0a1cf03e FindMPI: Add support for the Fujitsu compiler wrappers
a237450948 Tests: Update for the FujitsuClang compiler
27579e9cf1 FujitsuClang: Add support for the Fujitsu compiler in Clang mode
a55feff69c Tests: Update for the Fujitsu compiler
3c867cff4a Fujitsu: Add support for the Fujitsu compiler in Trad mode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Axel Huebl <axel.huebl@plasma.ninja>
Acked-by: Gilles Gouaillardet <gilles@rist.or.jp>
Merge-request: !5954
2021-04-01 10:26:54 -04:00
Brad King
ac79fd8a0e Merge topic 'cpackrpm-debuginfo-single-package-install-erase-scripts'
31c184ad69 CPackRPM: handle scripts in debuginfo single package mode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5953
2021-04-01 10:25:28 -04:00
Marc Chevrier
666f689e48 FindMPI: avoid host link options to be propagated to device link step
Fixes: #21887
2021-04-01 16:23:08 +02:00
Brad King
2b2da04fbc Merge topic 'cray-version-patch'
258faaeef6 Cray: Detect Fortran compiler version patch level if available

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5957
2021-03-31 09:32:57 -04:00
Justin LaPolla
258faaeef6 Cray: Detect Fortran compiler version patch level if available
Fixes: #21969
2021-03-31 09:30:48 -04:00
Brad King
45fae18f7b Merge topic 'cpackrpm-single-package-handling-empty-dir'
d0adb2386a CPackRPM: correctly handle empty dir in single package mode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5951
2021-03-31 09:30:02 -04:00
Brad King
f31d1dd175 Merge topic 'android-binutils'
61e6fc26bc Android: Fix search for binutils

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5958
2021-03-31 09:26:35 -04:00
Chuck Atkins
4c74c86f40 FindBLAS/LAPACK: Add support for the Fujitsu SSL2 library
This also does some additional work to fix issues with
libraries provided only via compiler options and no explicit
library names.

Co-Author: Yuichiro Utsumi <utsumi.yuichiro@jp.fujitsu.com>
2021-03-31 09:15:38 -04:00
Chuck Atkins
376c300b25 FindOpenMP: Add support for Fujitsu compilers
Co-Author: Yuichiro Utsumi <utsumi.yuichiro@jp.fujitsu.com>
2021-03-31 09:14:45 -04:00
Chuck Atkins
9e0a1cf03e FindMPI: Add support for the Fujitsu compiler wrappers
Co-Author: Yuichiro Utsumi <utsumi.yuichiro@jp.fujitsu.com>
2021-03-31 09:14:45 -04:00
Chuck Atkins
27579e9cf1 FujitsuClang: Add support for the Fujitsu compiler in Clang mode
This should be front end compatible with vanilla clang but giving it a
unique identifier allows a project to pass additional options unique to
Fujitsu and outside the scope of a CMake builtin.
2021-03-31 09:14:45 -04:00
Domen Vrankar
31c184ad69 CPackRPM: handle scripts in debuginfo single package mode
Enabling CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE while
using rpm install or erase scripts resulted in
resulted missing scripts for non default components.

Fixes: #21974
2021-03-30 23:24:16 +02:00
Chuck Atkins
3c867cff4a Fujitsu: Add support for the Fujitsu compiler in Trad mode
Co-Author: Yuichiro Utsumi <utsumi.yuichiro@jp.fujitsu.com>
2021-03-30 10:32:53 -04:00
Haibo Huang
61e6fc26bc Android: Fix search for binutils
Set `CMAKE_SYSTEM_PROGRAM_PATH` in `Platform/Android-Initialize` instead
of `Platform/Android` so it can be used in `CMakeFindBinUtils`.

Also add the names `llvm-strip` and `llvm-ranlib` for the corresponding
tools.
2021-03-30 10:06:02 -04:00
Brad King
d9b8acd238 Merge topic 'ifw-depends-name-version-parsing'
a43783a08d CPackIFW: Fix parsing of name and version in component DEPENDS
f536e6f3fb CPackIFW: Remove redundant variable assignment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5929
2021-03-30 09:56:31 -04:00
Brad King
16b4d5fc84 Merge topic 'GNUInstallDirs-doc' into release-3.20
06171fd7aa GNUInstallDirs: Clarify that CMAKE_INSTALL_<dir> may be absolute

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5947
2021-03-30 09:52:07 -04:00
Brad King
6859f55c77 Merge topic 'GNUInstallDirs-doc'
06171fd7aa GNUInstallDirs: Clarify that CMAKE_INSTALL_<dir> may be absolute

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5947
2021-03-30 09:52:07 -04:00
Brad King
06171fd7aa GNUInstallDirs: Clarify that CMAKE_INSTALL_<dir> may be absolute
Fixes: #21991
2021-03-29 09:45:27 -04:00
Brad King
94f6ac5b50 Merge topic 'SWIG'
1d8e3a1e77 UseSWIG: Use standard library name conventions for csharp language

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5949
2021-03-29 09:36:36 -04:00
Brad King
a1997a184b Merge topic 'FindDoxygen-clarify-cmake-variable-naming'
739446a9a1 FindDoxygen: clarify the CMake variable naming scheme

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Mateusz Mania <kajtkowo@gmail.com>
Merge-request: !5943
2021-03-29 09:35:42 -04:00
Domen Vrankar
d0adb2386a CPackRPM: correctly handle empty dir in single package mode
Enabling CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE while
having an empty directory in non main component
resulted in packaging error that the directory
does not exist.

Fixes: #21951
2021-03-29 01:26:58 +02:00
Craig Scott
a43783a08d CPackIFW: Fix parsing of name and version in component DEPENDS
The DEPENDS or DEPENDENCIES arguments in a call to
cpack_ifw_configure_component() or cpack_ifw_configure_component_group()
specify a name and optionally a version constraint as a single string.
QtIFW also allows a colon (requires QtIFW 3.1 or later) or a hyphen to
separate the name and version. The version may optionally contain a
leading operator, with = being assumed when no operator is present.

The previous code was not handling : as a separator at all and was
erroneously dropping the version part when no operator was given.
Fix both of those non-conforming behaviors and also warn if trying
to use a hyphen in a name with a QtIFW version that isn't recent enough
to support it.

Fixes: #21697
2021-03-27 07:44:00 +11:00
Marc Chevrier
1d8e3a1e77 UseSWIG: Use standard library name conventions for csharp language
Fixes: #21542
2021-03-26 16:27:18 +01:00
Brad King
8e342a6637 FindIntl: Fix detection of intl built in to C library
Since commit c30d06b7e6 (FindIntl: Add imported target, 2020-10-06,
v3.20.0-rc1~687^2) we use `check_symbol_exists` to check whether the
`intl` library is built in to the C library.  On some platforms the
tested symbols are provided as macros so the check passes without
linking any symbol.  Instead, check whether a sample source file both
compiles and links.

Fixes: #21979
2021-03-26 11:16:03 -04:00
Brad King
f56c1571d2 Merge branch 'backport-FindIntl-builtin' into FindIntl-builtin 2021-03-26 11:12:53 -04:00