Commit Graph

12930 Commits

Author SHA1 Message Date
Brad King
eb59397ef8 Merge topic 'add_cuda_11.8_new_archs'
7f4cbf6594 CUDA: Add support for the two new architectures in 11.8

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7761
2022-10-10 09:50:52 -04:00
Brad King
db53376b1f Merge topic 'add_cuda_11.8_new_archs' into release-3.24
7f4cbf6594 CUDA: Add support for the two new architectures in 11.8

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7761
2022-10-10 09:50:51 -04:00
Brad King
eebbe36ae6 Merge topic 'Intel-Fortran-warn-errors'
13f3382b1c Intel/IntelLLVM: Fortran has distinct "-Werror"-like flag
ab8a0a106e COMPILE_WARNING_AS_ERROR: Fix internal formatting of options table

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7758
2022-10-10 09:49:46 -04:00
Erlend E. Aasland
de6764126a CPackIFW: Add support for missing QtIFW patch and minor releases
Fixes: #24035
2022-10-10 13:31:29 +02:00
Gergely Meszaros
5b87ae6e2d HIP, Windows: Add Windows-Clang-HIP platform module
Add a platform module for using clang for HIP on windows, based on the
CXX module.

HIP language on windows works without this, but mixing with MSVC
produces catastrofical results.
Add the same restriction with HIP as C and C++ had prior:
Either none are compiled with MSVC or all are.

clang-cl support for HIP does not work yet: it needs more work in both
hip-lang-config.cmake and cmake itself.
2022-10-09 20:03:28 +02:00
Gergely Meszaros
6021fa7928 HIP: Convert clang output to cmake style paths
On windows the location of the rocm root directory as reported by clang
might be in windows style (with backslashes) which breaks the cache.
2022-10-09 19:47:20 +02:00
Gergely Meszaros
22051103b8 HIP: Find hip-lang-config.cmake with REQUIRED
Use REQUIRED for the find_package that loads the hip config, because
it may fail, e.g. because dependent libraries are not found. Before
this if the find_package failed cmake silently continued.
2022-10-09 19:19:45 +02:00
Robert Maynard
7f4cbf6594 CUDA: Add support for the two new architectures in 11.8
CUDA 11.8 introduces ada ( 89 ), and hopper ( 90 ).
2022-10-07 15:58:53 -04:00
Brad King
286a40cb5b Help: Update Sphinx versionadded directives for 3.25 release
Run the script:

    Utilities/Sphinx/update_versions.py --since v3.24.0 --overwrite

Manually de-duplicate the directive in FindOpenSP.
2022-10-07 11:29:00 -04:00
Brad King
269652a814 Merge topic 'Tasking-regex-fix'
5b03fecb8f Tasking: Simplify processor list matching regex

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7752
2022-10-07 11:22:49 -04:00
Michael Hirsch
13f3382b1c Intel/IntelLLVM: Fortran has distinct "-Werror"-like flag
Update the compiler options table added by commit 76a08cd253
(COMPILE_WARNING_AS_ERROR: Add options to treat warnings as errors,
2022-04-21, v3.24.0-rc1~173^2) to use the Intel Fortran compilers'
dedicated `-warn*` flags.
2022-10-07 10:05:49 -04:00
Brad King
ab8a0a106e COMPILE_WARNING_AS_ERROR: Fix internal formatting of options table
In commit 76a08cd253 (COMPILE_WARNING_AS_ERROR: Add options to treat
warnings as errors, 2022-04-21, v3.24.0-rc1~173^2) we formatted the
options table entries as command-line string fragments.  Since they are
part of the `CMAKE_${lang}_COMPILE_OPTIONS_*` tables, they should be
formatted as `;`-separated lists of compiler options.
2022-10-07 10:05:21 -04:00
Hutchings Samuel (ETAS/ERS-PRM)
5b03fecb8f Tasking: Simplify processor list matching regex 2022-10-07 12:04:13 +01:00
Brad King
c239c71681 Merge topic 'ifw-4.4'
e848ce21c9 CPack/IFW: Add support for QtIFW 4.4

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7750
2022-10-06 08:41:50 -04:00
Erlend E. Aasland
e848ce21c9 CPack/IFW: Add support for QtIFW 4.4
Fixes: #24027
2022-10-05 15:48:08 -04:00
Brad King
15ad39575e Merge topic 'FindGDAL-debug-msvc'
fdc95c6d19 FindGDAL: Add library name for MSVC Debug GDAL

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7737
2022-10-04 10:31:02 -04:00
Gregoire Krähenbühl
fdc95c6d19 FindGDAL: Add library name for MSVC Debug GDAL
Search for `gdald.lib`, which is how the library is now named when built
with CMake under MSVC Debug.

Fixes: #24015
2022-10-03 10:52:58 -04:00
Patrick Stewart
e07039cd26 ExternalProject: Explicitly run Git commands on intended directory
Add `--git-dir=.git` to cause git commands to fail instantly if the
`.git` folder has gone missing.

Fixes: #24007
2022-09-30 07:31:49 -04:00
Brad King
b1ecce8ae7 Merge topic 'traversaro-master-patch-54928'
e0a62b84b5 FindGLUT: On Windows and with multiple config generator do not use pkg-config

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7721
2022-09-29 07:54:50 -04:00
Matthew Woehlke
da45136ce3 CMakeTestCXXCompiler.cmake: Improve logging consistency
Use "C++ compiler" rather than "CXX compiler" in certain logging
messages. This improves both internal consistency (as "C++ compiler" was
already used elsewhere) and consistency with e.g. the equivalent logging
for the "Objective-C[++] compiler".
2022-09-28 11:49:01 -04:00
Brad King
381fc36880 Merge topic 'use-try_compile-source-from'
41f7b1169a Modules: Use new SOURCES_FROM_* try_compile (2/2)
db76876db5 Modules: Use new SOURCES_FROM_* try_compile (1/2)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7717
2022-09-28 10:42:05 -04:00
Silvio Traversaro
e0a62b84b5 FindGLUT: On Windows and with multiple config generator do not use pkg-config 2022-09-28 09:40:25 +02:00
Matthew Woehlke
41f7b1169a Modules: Use new SOURCES_FROM_* try_compile (2/2)
Modify some additional modules that ship with CMake to use the new
SOURCES_FROM_* arguments to try_compile / try_run as added by commits
cb14ae2b87 (try_compile: Add SOURCE_FROM_{ARG,VAR}, 2022-09-21) and
611d801790 (try_compile: Add SOURCE_FROM_FILE, 2022-09-22). This covers
modules that need to read and alter a template source file, which were
not addressed in the previous commit.

Note that FindOpenACC.cmake does not actually need configure_file
functionality; it appears to have inherited the (gratuitous) use thereof
from FindOpenMP.cmake, with which its code bears significant similarity.
2022-09-27 13:29:52 -04:00
Matthew Woehlke
db76876db5 Modules: Use new SOURCES_FROM_* try_compile (1/2)
Modify some modules that ship with CMake to use the new SOURCES_FROM_*
arguments to try_compile / try_run as added by commits cb14ae2b87
(try_compile: Add SOURCE_FROM_{ARG,VAR}, 2022-09-21) and 611d801790
(try_compile: Add SOURCE_FROM_FILE, 2022-09-22). This covers users which
previously either used an existing file (but sometimes needed to rename
it), or which wrote out their source in entirety. It does NOT cover
users that actually need configure_file functionality, as those will be
more involved to update and will thus be tackled in part 2.
2022-09-27 13:29:52 -04:00
Brad King
164a156c7c Merge topic 'remove-vs10-generator'
8d6f015d59 Drop Visual Studio 10 2010 generator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7718
2022-09-27 10:32:11 -04:00
Brad King
50b668ddc8 Merge topic 'add_subdirectory_system'
2eb30a7036 add_subdirectory: Add SYSTEM option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7399
2022-09-27 10:28:49 -04:00
Brad King
8d6f015d59 Drop Visual Studio 10 2010 generator
This generator has been deprecated since CMake 3.22.  Remove it.
2022-09-26 15:43:04 -04:00
Da Quexian
2eb30a7036 add_subdirectory: Add SYSTEM option
Fixes: #22401
Signed-off-by: Da Quexian <daquexian566@gmail.com>
2022-09-26 10:56:54 -04:00
Brad King
0bbd674cdb Merge topic 'UseSWIG-macos-csharp-suffix'
6b14de6bc5 UseSWIG: Change the library suffix to 'dylib' for C# on macOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7659
2022-09-26 09:36:32 -04:00
Mario Emmenlauer
6b14de6bc5 UseSWIG: Change the library suffix to 'dylib' for C# on macOS
When testing on macOS, the command `swig_add_library("mytarget")`
creates a library `libmytarget.so` instead of `libmytarget.dylib`.
Subsequently, the library is not found by `dotnet` and the
swig-generated `DllImport` statements.

Fixes: #23967
2022-09-23 09:24:15 -04:00
Brad King
87b9a31489 Merge topic 'modernize-build-self'
9629be8080 Build: Use `CMAKE_CURRENT_XXX_DIR` instead of top dirs
e6fb5a1feb Build: Sort linked libraries list of `CMakeLib`
aa7290e8dc Build: Use imported target `Threads::Threads` instead of variable
df8ad72ffa Build: Use imported target `kwiml::kwiml` instead of variables
eeebf31e54 Build: Use imported target `LibRHash::LibRHash` instead of variables
08be01a181 Build: Use imported target `LibUV::LibUV` instead of variables
ddac6dcbe8 Build: Use imported target `JsonCpp::JsonCpp` instead of variables
ac76c53d33 Build: Use imported target `CURL::libcurl` instead of variables
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7570
2022-09-23 08:46:08 -04:00
Brad King
4281f6ac34 Merge topic 'cdo-consider-dots'
df377a22dd CMakeDependentOption: allow in depends the use of .

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7701
2022-09-23 08:45:11 -04:00
Brad King
d563bfa2df Merge topic 'flang-windows'
d34e5a98b8 LLVMFlang: Add support for Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7692
2022-09-23 08:42:21 -04:00
Alex Turbov
1f5d9c5299 Build: Use imported target LibArchive::LibArchive instead of variables 2022-09-22 10:21:38 -04:00
Vicente Adolfo Bolea Sanchez
df377a22dd CMakeDependentOption: allow in depends the use of . 2022-09-21 13:19:45 -04:00
مهدي شينون (Mehdi Chinoune)
d34e5a98b8 LLVMFlang: Add support for Windows 2022-09-21 12:57:16 +01:00
Brad King
fc17277bda Merge topic 'detect-lib_foo.a-msvc'
be848a71b0 MSVC: Teach find_library to consider the 'libfoo.a' naming convention

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7694
2022-09-20 09:12:57 -04:00
Yonggang Luo
be848a71b0 MSVC: Teach find_library to consider the 'libfoo.a' naming convention
When targeting the GNU ABI, we consider `.a` libraries first but also
accept `.lib`.  For symmetry, when targeting the MSVC ABI, we now
consider `.lib` first but also accept `.a`.

This adds support for meson-generated static libraries, which are named
with the pattern `lib${foo}.a`:

* https://mesonbuild.com/FAQ.html#why-does-building-my-project-with-msvc-output-static-libraries-called-libfooa

Fixes: #23975
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
2022-09-19 11:02:44 -04:00
Brad King
620cf9efa7 Merge topic 'use-new-project-try_compile'
d00d8537f6 Modules: Use new keyword-dispatched try_compile signature

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7690
2022-09-19 10:25:26 -04:00
Brad King
6949d0195d Merge topic 'android-clang-no-ndk-version'
1c86e397fe Android/Clang: Tolerate undefined CMAKE_ANDROID_NDK_VERSION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7689
2022-09-19 10:22:15 -04:00
Brad King
689eb0c306 Merge topic 'matlab-r2022b'
edbdfba3f5 FindMatlab: add R2022b 9.13 version map

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7683
2022-09-19 10:19:12 -04:00
Matthew Woehlke
d00d8537f6 Modules: Use new keyword-dispatched try_compile signature
Modify modules that ship with CMake and use the project flavor of
try_compile to use the new signature added by commit 56ae40cc59
(try_compile: Add PROJECT keyword-dispatched signature, 2022-09-14).
2022-09-16 13:14:51 -04:00
Boris Egorov
1c86e397fe Android/Clang: Tolerate undefined CMAKE_ANDROID_NDK_VERSION
The previous fix for #21772, commit 005e2cdfb0 (Android: Do not use gold
for ndk >= r22, 2021-02-26, v3.20.0-rc3~1^2), doesn't work with typical
android toolchain file, like this one:

    https://android.googlesource.com/platform/ndk/+/master/build/cmake/android-legacy.toolchain.cmake

The condition fails to work when CMAKE_ANDROID_NDK_VERSION is undefined:
second part evaluates to true, although ndk version is not known.

I've encountered following environment where CMAKE_ANDROID_NDK_VERSION
is used without definition:

* Build uses android toolchain file, which sets CMAKE_SYSTEM_VERSION=1
  and doesn't set CMAKE_ANDROID_NDK_VERSION.
* Code in Platform/Android-Determine.cmake exits early when it detects
  toolchain usage (via value CMAKE_SYSTEM_VERSION=1). This file is the
  only place in cmake modules where variable CMAKE_ANDROID_NDK_VERSION
  is set, and by early return we skip this definition.
2022-09-16 10:36:58 -04:00
Michael Hirsch
edbdfba3f5 FindMatlab: add R2022b 9.13 version map 2022-09-16 10:29:19 -04:00
Brad King
07f0a78874 FPHSA: Fix regression when VERSION_VAR is missing
If a package is found but FPHSA is called by the find module without a
`VERSION_VAR`, and the `find_package` call specifies a version, we have
previously accepted the package as found.  This was accidentally
regressed by commit 8f50f135ae (FPHSA: Improve error message when
VERSION_VAR is empty or has been unset(), 2022-08-01).  Restore it and
add a test case.
2022-09-15 11:00:02 -04:00
Brad King
01a25d72c6 Merge topic 'add_tasking_compiler'
94df5b6ef1 Tasking: Add support for several compiler toolsets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7491
2022-09-15 09:19:58 -04:00
Brad King
c3522accd5 Merge topic 'binutils-apple-no-lld'
a54e25b547 BinUtils: Avoid the 'ld.lld' ELF linker on Apple platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7671
2022-09-15 09:07:51 -04:00
Brad King
671509ff27 Merge topic 'FindMatlab-macos-arm64'
f0edac914a FindMatlab: Add MEX binary file suffix for Apple Silicon native Matlab

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7673
2022-09-15 09:05:53 -04:00
Michael Hirsch
f0edac914a FindMatlab: Add MEX binary file suffix for Apple Silicon native Matlab
The Matlab MEX binary file suffix is distinct for Apple Silicon.
2022-09-14 14:05:35 -04:00
Christoph Seitz
94df5b6ef1 Tasking: Add support for several compiler toolsets
Add support for the Tasking compiler toolset:

* TriCore Compiler Toolset 6.3 (with TriCore, ARM, MCS,
  8051 and PCP architecture compilers)
* SmartCode Compiler Toolset 10.1 (with TriCore, ARC, MCS,
  8051 architecture compilers)
* ARM Compiler 6.0
* MCS Complier 3.3
* 8051 Compiler 7.2

Fixes: #23756
2022-09-14 09:58:50 -04:00