- Apr 28, 2021
- Apr 23, 2021
-
-
Brad King authored
Since commit da7ad799 (WriteCompilerDetectionHeader: Add policy to remove module, 2020-12-04, v3.20.0-rc1~350^2), the WCDH module is deprecated. Update the `cmake-compile-features(7)` manual section that previously recommended WCDH to make such detection the project's responsibility instead. Move the old content of the section over to the WCDH module to preserve it.
-
Brad King authored
-
- Apr 17, 2021
-
-
Craig Scott authored
The meaning of "absolute path" was previously assumed knowledge, but a number of special cases were left unspecified. The way some of these are handled differs to the way that cmake_path(IS_ABSOLUTE) works, so document those special cases so that the differing behavior between these two commands is clearly defined.
-
Craig Scott authored
-
- Apr 14, 2021
-
- Apr 05, 2021
-
-
Craig Scott authored
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
-
This was accidentally left out of commit 426941c4 (Autogen: Recognize the new Q_NAMESPACE_EXPORT macro in AUTOMOC, 2020-02-26, v3.17.0-rc2~3^2).
-
- Apr 02, 2021
-
-
Brad King authored
When using `add_library` to create an `IMPORTED` library target, there are a few target properties that are essential to correctly tell CMake about the library file. We already cover `IMPORTED_LOCATION` and `IMPORTED_IMPLIB`. Add `IMPORTED_SONAME` and `IMPORTED_NO_SONAME`, which are important in certain cases. Fixes: #22016
-
- Apr 01, 2021
-
-
Prefer the macOS term "application bundle" over just "bundle". Put both macOS cases together.
-
Brad King authored
`CMakeDetermineSystem` determines the host system information before loading the toolchain file. Issue: #22012
-
- Mar 26, 2021
-
-
Craig Scott authored
The previous docs did not make clear that at most only one of the three permissions-related options can be given for configure_file() or file(GENERATE) and that USE_SOURCE_PERMISSIONS is already the default behavior for these commands. Use consistent wording to refer to the input and output files for configure_file(). Add missing "versionadded" directives on some of these keywords. Use the consistent wording and keyword ordering between the configure_file(), file(GENERATE) and file(COPY) commands.
-
Brad King authored
Since commit c30d06b7 (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
-
- Mar 25, 2021
-
-
Craig Scott authored
Relates: #21364
-
- Mar 24, 2021
-
-
Craig Scott authored
-
- Mar 22, 2021
-
-
- Mar 18, 2021
-
-
-
Brad King authored
-
- Mar 12, 2021
-
-
Brad King authored
CMake accepts the toolset version that is default in the current VS version by matching the name later VS versions will use for the SxS props files. It predicts the future name based on the first two components of the current VS version's default toolset. However, this heuristic breaks naming the VS 16.8 toolset version 14.28 under VS 16.9 because the latter's default toolset version is 14.28.29910, which did not increment the second version component (unprecedented in VS). Fix this by always using the requested version's SxS props file when it exists, even if it matches the first two components of the current VS version's default toolset. Also add a special case for the name VS 16.10 will use for VS 16.9's default toolset, so that it can be used with VS 16.9 too. Fixes: #21922
- Mar 09, 2021
-
-
Craig Scott authored
Refactoring of the ExternalProject and FetchContent modules moved the commands into CMake scripts. This broke custom commands that used shell redirection or special build tool variables of the form $(MakeVar). Undo the sequence of commits that performed this refactoring and follow-up fixes associated with it. The following commits are reverted by this change: 4f3d1abb (ExternalProject: Refactor pre-configure steps to support no-target uses, 2021-02-05) 17e5516e (FetchContent: Invoke steps directly and avoid a separate sub-build, 2021-01-29) bd876f38 (FetchContent: Restore patch command support, 2021-02-18) 404cddb7 (ExternalProject: Fix misuse of IS_NEWER_THAN in timestamp checks, 2021-02-21) b0da6712 (FetchContent: Don't update timestamps if files don't change, 2021-02-18) Fixes: #21892
-
- Mar 03, 2021
-
-
Brad King authored
-
- Mar 01, 2021
-
-
Ben Boeckel authored
Followup from !5674.
-
- Feb 24, 2021
-
-
Robert Maynard authored
-
Revert commit 8f1e607e (Help: Document JSON comment support in cmake-presets(7), 2021-02-18). The support for comments was a mistake when the feature was implemented in 3.19, and is being removed.
-
Fixes: #21858
-
- Feb 23, 2021
-
-
Kyle Edwards authored
-
Brad King authored
This form already works. Document it and add tests. Issue: #21855
- Feb 19, 2021
-
- Feb 18, 2021
-
-
Co-Author: Brad King <brad.king@kitware.com>
-
-
-
Brad King authored
Suggested-by: Michael Hirsch
-
- Feb 15, 2021
-