Commit Graph

50592 Commits

Author SHA1 Message Date
Craig Scott 5389bb4274 Xcode: Don't hard-code SDK-provided implicit framework search paths
When a framework is linked to a target by its full path and that
framework is located in one of the implicit framework search directories,
CMake 3.18.5 and earlier discarded that path.
ce2dee9e5b (Xcode: Don't add framework as -framework argument in
linker info list, 2020-09-28) introduced a regression which resulted in
the framework path always being added to the search path even if it
matched one of the implicit search paths. This broke the ability to do
device and simulator builds from the same configured project.

Fixes: #21678
2021-02-03 23:11:21 +11:00
Craig Scott df08f8df30 cmComputeLinkInformation: Fix misspelt private variable name 2021-02-03 23:10:08 +11:00
Brad King 375b307bae Apple: Fix linking to frameworks that do not exist until build time
Fixes: #21621
2021-02-03 10:08:48 +11:00
Brad King 0c86d15459 CMake 3.19.4 v3.19.4 2021-01-28 10:28:45 -05:00
Brad King 6cc6d464e1 Merge topic 'doc-multi-config-prop' into release-3.19
1d7daa668c Help: Add Ninja Multi-Config to list in GENERATOR_IS_MULTI_CONFIG

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Merge-request: !5737
2021-01-25 11:40:50 -05:00
Brad King 4ed5af7a3c Merge topic 'intel-fortran-nofor-main' into release-3.19
2a5955ac09 Intel: Replace deprecated Fortran flag -nofor_main with -nofor-main

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5729
2021-01-25 11:40:13 -05:00
Brad King 1d7daa668c Help: Add Ninja Multi-Config to list in GENERATOR_IS_MULTI_CONFIG
Fixes: #21739
2021-01-25 10:52:49 -05:00
Brad King 2a5955ac09 Intel: Replace deprecated Fortran flag -nofor_main with -nofor-main
The `-nofor_main` flag was originally added by commit ccdd3e943d (Fix
Intel Fortran SHARED libraries on Linux, 2009-10-27, v2.8.2~915).  Since
then, Intel Fortran renamed the option to `-nofor-main` and deprecated
the old name.  The new name has been available for a long time, so
we can just switch to it.

Fixes: #21735
2021-01-22 09:38:57 -05:00
Brad King 0df1fd9d43 Merge topic 'ci-wix-download' into release-3.19
127864aa9c Merge branch 'backport-3.18-ci-wix-download' into ci-wix-download
8efbb0c95f ci: download WiX on Windows
5e5fecb7bc ci: speed up cmake and ninja downloads on Windows
6c34835a26 Merge branch 'backport-ninja-no-cleandead' into release-3.18
41ec2a4fac Merge branch 'FindPython-python2-soabi-suffix-fix' into release-3.18
035a0c497a Merge branch 'cuda_detect_vs_codegen' into release-3.18

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !5725
2021-01-21 13:01:19 -05:00
Brad King 127864aa9c Merge branch 'backport-3.18-ci-wix-download' into ci-wix-download 2021-01-21 12:20:54 -05:00
Brad King 8efbb0c95f ci: download WiX on Windows
Avoid requiring Windows CI hosts to have WiX installed.
2021-01-21 11:53:11 -05:00
Brad King 5e5fecb7bc ci: speed up cmake and ninja downloads on Windows
Invoke-WebRequest uses a progress bar by default, but we have no
interactive session anyway.  Turn it off to speed up downloads.
2021-01-21 11:49:49 -05:00
Brad King 9d6e6b7d3b Merge topic 'vs-sdk-selection' into release-3.19
1e67482daf VS: Generalize Win10 max SDK version to all VS generators

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5721
2021-01-21 09:18:31 -05:00
Brad King 7838a065a6 Merge topic 'FindHDF5-silence-output' into release-3.19
b924669385 FindHDF5: silence STATUS messages when found with QUIET
2439a048b0 FindHDF5: avoid writing to the output when testing h5cc

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5722
2021-01-21 09:17:39 -05:00
Brad King 15fe8cf8a5 Merge topic 'macos-include-weak-dependencies' into release-3.19
7e615a540e file(GET_RUNTIME_DEPENDENCIES): Fix weak macOS libraries not detected
f2d92b983b GetPrerequisites: Include weak macOS dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5703
2021-01-21 09:16:37 -05:00
jonathan molinatto 1e67482daf VS: Generalize Win10 max SDK version to all VS generators
The `CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION_MAXIMUM` variable added in
CMake 3.19 by commit ba497111f6 (VS: Add option for custom Win10 SDK
version maximum, 2020-08-20, v3.19.0-rc1~262^2) was documented as if it
worked for all generators but implemented only to override CMake's
builtin default for the VS 2015 max SDK version.  Generalize the
variable to set a custom max SDK version for later VS versions too.

Fixes: #21720
2021-01-20 14:46:34 -05:00
Ben Boeckel b924669385 FindHDF5: silence STATUS messages when found with QUIET 2021-01-20 14:05:14 -05:00
Ben Boeckel 2439a048b0 FindHDF5: avoid writing to the output when testing h5cc
The execution of this tool can output error logs to the output during
configure. This can then be caught by CTest and flagged as an error
during the build.
2021-01-20 14:04:25 -05:00
Bianca van Schaik 7e615a540e file(GET_RUNTIME_DEPENDENCIES): Fix weak macOS libraries not detected
Starting with Clang 12, `otool -l` reports `LC_LOAD_WEAK_DYLIB` instead
of `LC_LOAD_DYLIB` for weakly linked libraries.  Update the
implementation of `file(GET_RUNTIME_DEPENDENCIES)` to recognize these.

Fixes: #21684
2021-01-20 10:26:54 -05:00
Bianca van Schaik f2d92b983b GetPrerequisites: Include weak macOS dependencies
Starting with Clang 12, `otool -L` adds `, weak` to weakly linked
libraries.  Update GetPrerequisites to recognize these.

Issue: #21684
2021-01-20 10:26:54 -05:00
Brad King 2c0e4c3762 Merge topic 'CMake-cross-compiling' into release-3.19
6cee4c6a8b Restore support for cross-compiling CMake itself

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5713
2021-01-19 09:06:52 -05:00
Marc Chevrier 6cee4c6a8b Restore support for cross-compiling CMake itself
In commit eb583b0a66 (cmake_path command: path management, 2020-07-23,
v3.19.0-rc1~216^2~1) we added a `try_run`.  In cross-compilation mode,
C++ features tests must avoid running tests if there is no emulator
defined.
2021-01-18 12:23:23 -05:00
Brad King 16ad286ead Merge topic 'irsl-msvcp_atomic_wait_dll' into release-3.19
6718caaa2f IRSL: Install msvcp${v}${d}_atomic_wait.dll if available with CRT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5702
2021-01-18 11:14:22 -05:00
Kelly Walker 6718caaa2f IRSL: Install msvcp${v}${d}_atomic_wait.dll if available with CRT
VS now distributes these additional runtime libraries.  Install them
if available.

Fixes: #21675
2021-01-15 10:41:17 -05:00
Brad King 19ff734e76 CMake 3.19.3 v3.19.3 2021-01-13 07:58:18 -05:00
Brad King 4304767ae4 Merge topic 'trace_expand_bracket' into release-3.19
e6e7f2cab9 cmMakefile: Don't expand bracket arguments in --trace-expand

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5687
2021-01-12 10:20:26 -05:00
Brad King c3c63801f8 Merge topic 'cmake-gui-qrc-fix' into release-3.19
e20560a2dc cmake-gui: Restore linking of Qt resources

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5691
2021-01-12 10:19:28 -05:00
Kyle Edwards e20560a2dc cmake-gui: Restore linking of Qt resources
Refactoring in commit 41e223deb3 (CMake GUI: Split up into libraries,
add test shim, 2020-09-14, v3.19.0-rc1~116^2~2) broke linking of Qt
resources, such as the Add/Remove Entry button icons.

Fixes: #21682
2021-01-11 14:57:53 -05:00
Raul Tambre e6e7f2cab9 cmMakefile: Don't expand bracket arguments in --trace-expand
Bracket arguments are literal and shouldn't be expanded.

Fixes #21671.
2021-01-11 19:54:18 +02:00
Brad King fb79784136 Merge topic 'rel-macos-modern' into release-3.19
6410425e5b ci: build separate macOS packages for macOS 10.13+ and macOS 10.10+
bbec5a03c8 Utilities/Release: Add script to build Qt 5.15.2 macOS universal binaries
97e238f61b Utilities/Release: Fix macOS Qt 5.9 build script umask
2c5f30b472 cmake-gui: Fix macOS styling for binaries distributed with Qt 5.10+
3679b74a69 gitlab-ci: update upload jobs to go to cmake.org

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5672
2021-01-08 09:10:24 -05:00
Brad King 48f5b36aee Merge topic 'xcode-object-ids' into release-3.19
b8b6573db8 Xcode: Use deterministic object ids for script build phases
2892228dc9 cmGlobalXCodeGenerator: Add infrastructure for deterministic object ids
d250b67722 cmGlobalXCodeGenerator: Adopt pbxproj object id generation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5671
2021-01-08 09:07:18 -05:00
Brad King 6410425e5b ci: build separate macOS packages for macOS 10.13+ and macOS 10.10+
In order to support modern macOS features like Dark Mode, we need to use
Qt 5.15, which requires macOS 10.13.  However, we still want to support
macOS 10.10 as well, for which we need to use Qt 5.9.  Build separate
macOS packages for these use cases.

Fixes: #21606
Issue: #20825
2021-01-07 16:56:05 -05:00
Brad King bbec5a03c8 Utilities/Release: Add script to build Qt 5.15.2 macOS universal binaries
These may be used to build a CMake universal binary for macOS that supports
both architectures on Apple Silicon and is compatible with OS X 10.13.
2021-01-07 16:10:07 -05:00
Brad King 97e238f61b Utilities/Release: Fix macOS Qt 5.9 build script umask
Produce a tarball with world-readable permissions.
2021-01-07 16:10:07 -05:00
Brad King 2c5f30b472 cmake-gui: Fix macOS styling for binaries distributed with Qt 5.10+
According to https://bugreports.qt.io/browse/QTBUG-59428, Qt 5.10 and
above moved macOS style handling into a separate `qmacstyle` plugin.
Install the plugin in our `CMake.app` package on macOS.

Issue: #21606
2021-01-07 16:10:07 -05:00
Brad King 3679b74a69 gitlab-ci: update upload jobs to go to cmake.org
Upload binaries to `cmake.org` through its own name rather than
through the `public.kitware.com` alias.
2021-01-07 16:09:28 -05:00
Brad King b8b6573db8 Xcode: Use deterministic object ids for script build phases
The Xcode "new build system" only considers a script build phase up to
date if it has run before, even if outputs are newer than inputs.  Use a
deterministic object id for script build phases associated with custom
commands so that they do not need to re-run after CMake re-generates the
project.

Fixes: #21669
2021-01-06 18:46:30 -05:00
Brad King 2892228dc9 cmGlobalXCodeGenerator: Add infrastructure for deterministic object ids 2021-01-06 16:24:12 -05:00
Brad King d250b67722 cmGlobalXCodeGenerator: Adopt pbxproj object id generation 2021-01-06 16:21:53 -05:00
Brad King 95e3ff2e88 Merge topic 'FindHDF5-dbg-and-rel' into release-3.19
5267ba9d63 FindHDF5: Fix finding both debug and release libs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5653
2021-01-06 14:08:27 -05:00
Brad King 6fc45f0282 Merge topic 'ci-xcode-12.3' into release-3.19
7b4a50d622 gitlab-ci: update macOS jobs to use Xcode 12.3

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5670
2021-01-06 13:49:32 -05:00
Brad King 7b4a50d622 gitlab-ci: update macOS jobs to use Xcode 12.3 2021-01-06 12:47:02 -05:00
Brad King d0e3408d8b Merge topic 'FindMPI-oneapi-single-quotes' into release-3.19
a5b223aa7f FindMPI: remove single quotes from include path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5654
2021-01-05 09:03:07 -05:00
Kris Thielemans 5267ba9d63 FindHDF5: Fix finding both debug and release libs
Use `target_link_libraries` to set `INTERFACE_LINK_LIBRARIES` so that
the `debug` and `optimized` keywords work.

In commit a8e0a6b3e4 (FindHDF5: Port changes from VTK, 2020-06-10,
v3.19.0-rc1~312^2~1) we added use of `HDF5_LIBRARIES`, but the value may
contain `debug` and `optimized` keywords.

Fixes: #21637
2021-01-04 14:26:38 -05:00
Eduard Valeyev a5b223aa7f FindMPI: remove single quotes from include path
Intel OneAPI's MPI wraps include paths into single quotes,
remove them when sanitizing _MPI_INCLUDE_PATH

Fixes: #21634
2021-01-04 14:13:43 -05:00
Brad King 511158a03b Merge topic 'rel-linux-aarch64' into release-3.19
2c1127a7a9 Help: Add 3.19.3 release note for Linux aarch64 binary
76742c4cbe gitlab-ci: add jobs to make Linux release packages for aarch64 on 3.19 branch
e14fb01c41 Utilities/Release: Add docker specs for Linux aarch64 binaries
595551a805 gitlab-ci: consolidate Linux release package job spec for x86_64

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Bruno Verachten <gounthar@gmail.com>
Merge-request: !5538
2020-12-23 09:35:39 -05:00
Craig Scott ce9a9e00a8 Merge topic 'fc-relative-SOURCE_DIR' into release-3.19
51595e5f01 FetchContent: Relative SOURCE_DIR override cannot be a hard error

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5641
2020-12-22 15:49:37 -05:00
Brad King 2c1127a7a9 Help: Add 3.19.3 release note for Linux aarch64 binary 2020-12-22 14:04:39 -05:00
Hi Key 76742c4cbe gitlab-ci: add jobs to make Linux release packages for aarch64 on 3.19 branch 2020-12-22 14:04:39 -05:00
Hi Key e14fb01c41 Utilities/Release: Add docker specs for Linux aarch64 binaries
Base them on the existing `x86_64` specs.  Update the centos
base image from centos 6 to centos 7 to get aarch64 support.
The resulting binaries require GLIBC 2.17.

Fixes: #17923
2020-12-22 14:04:39 -05:00