Commit Graph

61606 Commits

Author SHA1 Message Date
Brad King f90c8ab54e VS: Select latest available Windows SDK version by default
Add policy `CMP0149` to stop preferring SDKs exactly matching
`CMAKE_SYSTEM_VERSION` over the latest SDK.

Fixes: #16202
2023-04-05 12:06:22 -04:00
Brad King b512c53d43 VS: Add support for setting WindowsTargetPlatformVersion to 10.0
VS 2019 and above support this value to select a SDK version
automatically.

Fixes: #21403
2023-04-05 12:06:22 -04:00
Brad King 2f3d945f83 VS: Add CMAKE_GENERATOR_PLATFORM field to control Windows SDK selection
Add a `version=` field to explicitly control the SDK version selection
without relying on `CMAKE_SYSTEM_VERSION`.

Fixes: #16713
2023-04-05 12:06:22 -04:00
Brad King f0a67b6291 VS: Parse comma-separated fields from CMAKE_GENERATOR_PLATFORM 2023-04-05 12:06:22 -04:00
Brad King e259063b0a VS: Defer Windows SDK selection until CMAKE_GENERATOR_PLATFORM is known
Prepare to teach `CMAKE_GENERATOR_PLATFORM` to affect SDK selection.
2023-04-05 12:06:22 -04:00
Brad King 8499374c6a VS: Simplify logic to require SDK for Windows Store
Revise logic added by commit d7e863c1c1 (VS: Do not fail on Windows 10
with VS 2015 if no SDK is available, 2016-01-21, v3.4.3~1^2) to make the
requirement decision locally and simplify signatures.
2023-04-05 12:06:21 -04:00
Brad King 1c8d4b4bf1 Tests: Teach RunCMake_TEST_FILTER to account for test variant description 2023-04-05 12:06:13 -04:00
Brad King 2c59598b91 Merge topic 'doc-lang-flags'
561ae21f40 Help: Clarify that {add,target}_compile_options are not used for linking
530faee017 Help: Clarify that CMAKE_<LANG>_FLAGS are used when driving linking
f93b13151e Help: Link to COMPILE_LANGUAGE genex from add_compile_options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex <leha-bot@yandex.ru>
Merge-request: !8384
2023-04-03 09:00:37 -04:00
Brad King d6dff59590 Merge branch 'release-3.26' 2023-04-03 08:58:02 -04:00
Brad King fae8cda9c6 Merge branch 'release-3.25' 2023-04-03 08:58:00 -04:00
Brad King b5e972f629 Merge branch 'release-3.25' into release-3.26 2023-04-03 08:57:50 -04:00
Brad King 41aa59376e Merge branch 'release-3.26' 2023-04-03 08:56:56 -04:00
Brad King 997e5fa714 Merge topic 'vs-fortran-try_compile'
4da50fe3f4 VS: Remove extra try_compile argument in Intel Fortran check

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8383
2023-04-03 08:56:55 -04:00
Brad King 921ffd3070 Merge topic 'vs-fortran-try_compile' into release-3.26
4da50fe3f4 VS: Remove extra try_compile argument in Intel Fortran check

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8383
2023-04-03 08:56:54 -04:00
Kitware Robot 02f23be9a7 CMake Nightly Date Stamp 2023-04-03 00:01:20 -04:00
Kitware Robot 17b8d01e22 CMake Nightly Date Stamp 2023-04-02 00:01:07 -04:00
Kitware Robot 063c07e097 CMake Nightly Date Stamp 2023-04-01 00:01:07 -04:00
Brad King 561ae21f40 Help: Clarify that {add,target}_compile_options are not used for linking
Link to alternatives that can be used for adding link options.

Issue: #24662
2023-03-31 11:30:51 -04:00
Brad King 530faee017 Help: Clarify that CMAKE_<LANG>_FLAGS are used when driving linking
State explicitly that these flags are used when driving either compiling
or linking.  For linking, document their order w.r.t. link flags
specified by commands.

Fixes: #24662
2023-03-31 11:01:13 -04:00
Brad King f93b13151e Help: Link to COMPILE_LANGUAGE genex from add_compile_options
Follow-up commit e2830cf16b (Help: Link to COMPILE_LANGUAGE genex
from target_compile_options, 2023-03-28).

Issue: #24639
2023-03-31 11:01:13 -04:00
Brad King 46441e54c7 Merge branch 'vs-fortran-try_compile' into release-3.25
Merge-request: !8383
2023-03-31 08:51:07 -04:00
Brad King 4da50fe3f4 VS: Remove extra try_compile argument in Intel Fortran check
Refactoring in commit d00d8537f6 (Modules: Use new keyword-dispatched
try_compile signature, 2022-09-16, v3.25.0-rc1~115^2) accidentally
left one of the old signature arguments behind, causing a warning.
2023-03-31 08:22:23 -04:00
Brad King 17e6b2bdca Merge topic 'automoc-cxx-standard'
429a452705 Autogen: Add target's C++ standard to moc_predef.h
21f812e57c Autogen: Split creation and setup of custom targets into separate steps

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8359
2023-03-31 08:09:06 -04:00
Brad King fb37de96a0 Merge topic 'remove-FindPythonInterp-FindPythonLibs'
a4c5b91f80 FindPython{Interp,Libs}: Add policy to remove these modules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !8380
2023-03-31 08:08:18 -04:00
Brad King afaeee52a7 Merge topic 'ci-FindHDF5'
75bb2a2ee4 Tests: Extend FindHDF5 tests to link and run executables
919de8785b ci: Patch HDF5 Fortran compiler wrappers in Fedora jobs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8381
2023-03-31 08:06:37 -04:00
Brad King ae9f725b9b Merge topic 'cuda-arch-nvcc-options-file'
6546da83b3 CUDA: Fix CUDA architecture flags for nvcc response files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !8379
2023-03-31 08:05:10 -04:00
Brad King 61681128e1 Merge topic 'presets-add-trace'
8e579b0228 presets: Add trace options to configure presets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8254
2023-03-31 08:03:58 -04:00
Brad King 2159906731 Merge topic 'strip-macos'
689616785f macOS: Do not pass Apple-specific flags to llvm-strip

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8374
2023-03-31 08:02:20 -04:00
Brad King be3c564f8c Merge topic 'binutils-strip-macos'
ac2562afb3 BinUtils: Avoid llvm-strip on Apple platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8372
2023-03-31 08:01:16 -04:00
Kitware Robot f52a2fd26d CMake Nightly Date Stamp 2023-03-31 00:01:07 -04:00
Brad King 75bb2a2ee4 Tests: Extend FindHDF5 tests to link and run executables
Verify that this works using both targets and variables.
2023-03-30 15:05:59 -04:00
Brad King 919de8785b ci: Patch HDF5 Fortran compiler wrappers in Fedora jobs
In Fedora's HDF5 packages for OpenMPI and MPICH, the `h5pfc` compiler
wrappers for Fortran use the wrong search path for their Fortran
modules.  Patch them locally in CI jobs until it is fixed in Fedora
upstream.
2023-03-30 15:05:39 -04:00
Brad King a4c5b91f80 FindPython{Interp,Libs}: Add policy to remove these modules
The `FindPythonInterp` and `FindPythonLibs` modules have been deprecated
since CMake 3.12.  Add a policy to pretend they do not exist in order to
encourage projects to port to `FindPython` or `FindPython{2,3}`.
2023-03-30 12:05:09 -04:00
Brad King 6546da83b3 CUDA: Fix CUDA architecture flags for nvcc response files
`nvcc --options-file` does not parse unquoted arguments in a response
file correctly if they contain `[]`.  Quote the `--generate-code=` flags
we add for CUDA architectures.

Fixes: #24657
2023-03-30 09:43:01 -04:00
Artin Alavi 8e579b0228 presets: Add trace options to configure presets
Add JSON schema version 7 to support them.

Fixes: #22543
2023-03-30 09:18:53 -04:00
Brad King 4901fdb201 Merge topic 'presets-json-errors'
19305afd8a presets: Improve JSON parser and error messages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !8290
2023-03-30 08:51:18 -04:00
Brad King 1d1ee2b049 Merge topic 'ci-FindHDF5'
d38c752de2 ci: Enable FindHDF5 tests on Linux builds
28c4945a8a ci: Add HDF5 to Debian and Fedora base images
ad9e151045 Tests: Add cases covering FindHDF5 variables and imported targets
0e87e6c1a4 Tests: Add FindMPI test environment modification option
ee075a53c8 FindHDF5: Record compiler wrapper checks to configure log
72915b1068 FindHDF5: Fix compiler wrapper checks with spaces in path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8378
2023-03-30 07:22:17 -04:00
Brad King a4e166fe7a Merge topic 'clang-tidy-module-gitignore'
550f6b40bd clang-tidy module: copy .gitignore from top level

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8377
2023-03-30 07:20:38 -04:00
Brad King 770f0ef7d6 Merge topic 'codespellrc-no-count'
c7d978d371 ci: remove "count =" from .codespellrc

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8376
2023-03-30 07:19:56 -04:00
Brad King dfe32d797e Merge topic 'ninja-performance'
426f3295f6 Ninja: Use more efficient data structures to collect outputs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8371
2023-03-30 07:19:05 -04:00
Brad King ac2562afb3 BinUtils: Avoid llvm-strip on Apple platforms
Since commit cf82300a63 (BinUtils: Clarify search logic and make it more
consistent, 2021-05-27, v3.21.0-rc1~119^2~2) we prefer `llvm-strip` over
`strip` when using Clang.  However, `llvm-strip` seems to produce
unusable binaries in cases involving chained fixups.  Prefer Apple's
`strip` over `llvm-strip` on `APPLE` platforms.

We still need to consider `llvm-strip` as a fallback as explained for
`llvm-ar` by commit fee36b7a78 (BinUtils: Restore llvm-ar fallback on
Apple platforms, 2022-03-15, v3.23.0-rc4~12^2).

Issue: #24601
2023-03-30 07:14:07 -04:00
Brad King 2f3ba93102 Merge topic 'FindOpenAL-framework'
f05bd762f5 ci: Enable FindOpenAL test on macOS jobs
1d06554fc6 Tests: Fix FindOpenAL test for macOS framework
5f5476ee31 FindOpenAL: Fix imported target for macOS framework

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8373
2023-03-30 06:57:10 -04:00
Orkun Tokdemir 429a452705 Autogen: Add target's C++ standard to moc_predef.h
Generate `moc_predef.h` using the same C++ standard level that will be
used to compile the target so that the compiler's predefined macros can
be more accurately recovered.

Fixes: #24624
Qt-Issue: https://bugreports.qt.io/browse/QTBUG-110847
2023-03-30 06:41:51 -04:00
Kitware Robot cecdd470a9 CMake Nightly Date Stamp 2023-03-30 00:01:08 -04:00
Brad King d38c752de2 ci: Enable FindHDF5 tests on Linux builds 2023-03-29 17:18:30 -04:00
Brad King 28c4945a8a ci: Add HDF5 to Debian and Fedora base images 2023-03-29 17:18:30 -04:00
Brad King ad9e151045 Tests: Add cases covering FindHDF5 variables and imported targets 2023-03-29 17:18:30 -04:00
Brad King 0e87e6c1a4 Tests: Add FindMPI test environment modification option
Provide a way to configure an environment specific to this test.
Avoid setting the environment globally for it in CI jobs.
2023-03-29 17:18:30 -04:00
Brad King ee075a53c8 FindHDF5: Record compiler wrapper checks to configure log 2023-03-29 17:18:29 -04:00
Brad King 72915b1068 FindHDF5: Fix compiler wrapper checks with spaces in path
Some HDF5 compiler wrappers do not support source file paths that
contain spaces.  Pass source files to them using a file name in the
current working directory to avoid spaces.
2023-03-29 17:18:29 -04:00