| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
FETCHCONTENT_FULLY_DISCONNECTED should only be set to true if
each dependency's source directory has already been populated.
Previously, this wasn't being checked, but now it is (subject to a new
policy).
|
|
|
|
|
| |
Projects should use FetchContent_MakeAvailable(depName)
instead. Policy CMP0169 provides backward compatibility.
|
|\
| |
| |
| |
| |
| |
| | |
eda17e76e2 Help: Document that CMP0097 is always NEW for FetchContent
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9527
|
| |
| |
| |
| | |
Fixes: #25971
|
|/
|
|
| |
Fixes: #21703
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
e0355c4ea9 FindBoost: Add policy to remove this module
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Christoph GrĂ¼ninger <foss@grueninger.de>
Merge-request: !9488
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Upstream Boost 1.70 and above provide a proper `BoostConfig.cmake`
package configuration file. Packages for all major distros now
provide it in at least one LTS release. Add a policy to pretend
that the `FindBoost` module does not exist so that projects calling
`find_package(Boost)` use the upstream package directly.
Closes: #19402
|
|/
|
|
|
|
|
|
|
|
| |
In commit 835f34949e (Help: Update cmake-buildsystem(7) build and usage
requirements, 2024-04-23) we labeled the sections documenting `COMPILE_*`
properties as "build properties". All the properties it documents are
about compilation steps before linking, including the Autogen features
for compiling Qt metadata, so rename the sections as "compile properties".
This is also consistent with the name of the `$<COMPILE_ONLY:...>`
generator expression.
|
|
|
|
|
|
|
|
|
| |
In commit bbba701899 (Link properties: must be transitive over private
dependency on static library, 2019-12-06, v3.17.0-rc1~323^2) and
commit af9d4f24ae (Link properties: must be transitive over private
dependency on static library, 2019-12-11, v3.17.0-rc1~305^2) we
neglected to implement CMP0099 NEW behavior for `TARGET_PROPERTY`
evaluation. Add policy CMP0166 to fix this.
|
| |
|
|
|
|
|
|
|
|
| |
This updates the CMP0135 documentation, which should have been
done as part of c2044fdf3f (FetchContent: Respect the CMP0135 policy
setting, 2022-06-02).
Issue: #23560
|
|
|
|
| |
Fixes: #25550
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
cebcc07a80 CheckSymbolExists: Remove -Werror from per-config flags
06c99ce73b CheckSymbolExists: Avoid removing the flag after -Werror
e60281e968 CMakeDetermineCompilerABI: Remove -Werror from per-config flags
6abd25e7fd Help: Fix a typo
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9377
|
| | |
|
| |
| |
| |
| |
| |
| | |
Add policy CMP0164 to provide compatibility.
Fixes: #25759
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This was originally attempted by policy CMP0118, but its
implementation did not cover all intended use cases. We fixed its
documentation in commit 1dabbbb5e0 (CMP0118: Revise documentation to
describe actual behavior, 2024-03-20).
Add new policy CMP0163 to cover the remaining use cases. In particular,
make the `GENERATED` property visible to `get_property` calls in other
directories. In order to capture the original intention of CMP0118,
define CMP0163's NEW behavior to also imply CMP0118's NEW behavior.
Fixes: #25437
Fixes: #25058
|
|
|
|
|
|
|
|
| |
The policy was originally intended to make the `GENERATED` source file
property globally visible, but the implementation didn't fully achieve
that goal. Revise the documentation to describe what it actually does.
Issue: #25437
|
|\
| |
| |
| |
| |
| |
| |
| | |
eceb368ccc Help: Fix typos in 3.29 docs
31fb693d06 Help: Fix typos and grammar in pre-3.29 docs
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9353
|
| | |
|
|/
|
|
|
|
|
| |
Use heuristics to select a reasonable value. Add policy CMP0162
to provide compatibility with existing projects.
Fixes: #25327
|
|
|
|
| |
Fixes: #23351
|
|\
| |
| |
| |
| |
| |
| |
| | |
0cfd8fe8ad cmTarget: Don't allow setting read-only properties
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9133
|
| |
| |
| |
| |
| | |
Ensure that all documented read-only target properties now produce
errors when trying to set.
|
|/ |
|
|
|
|
| |
Avoid implying that a policy must always be set explicitly.
|
|
|
|
|
|
| |
Every policy documents whether CMake warns when it is not set.
This behavior does not change with the CMake version, so avoid
possibly confusing mention of the current CMake version.
|
|
|
|
|
|
|
|
| |
Every policy's documentation has a paragraph on what version of CMake
introduced it, how to set the policy, and whether CMake warns if the
policy is not set. The wording of this paragraph has diverged across
policies over time. Factor the paragraph out into a standard advice
document included by every policy.
|
|
|
|
| |
Signed-off-by: Cristian Le <cristian.le@mpsd.mpg.de>
|
|
|
|
|
|
| |
This was missed in commit ca5a300d7f (add_test: Honor
CROSSCOMPILING_EMULATOR only when cross-compiling, 2023-11-02) when it
slipped from the 3.28 release.
|
|
|
|
|
|
| |
Add policy CMP0158 to provide compatibility for existing projects.
Fixes: #23672
|
|\
| |
| |
| |
| |
| |
| | |
fe0d03b044 Help: Document that CMP0149 should be set before project()
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8990
|
| |
| |
| |
| | |
Issue: #25413
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add a `CMAKE_Swift_COMPILATION_MODE` variable and corresponding
`Swift_COMPILATION_MODE` target property to control the compilation
mode. Select among `wholemodule`, `singlefile`, and `incremental`.
Add policy CMP0157 to remove the default `-wmo` flags in favor of the
abstract setting.
Issue: #25366
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some platforms, Apple or Windows for instance, do not require to duplicate
static libraries to resolve mutual dependencies. Moreover, Xcode version 15
emits a warning if a library is duplicated.
On Windows, enable a better control of libraries order.
Fixes: #20722, #25297
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This allows for a more graceful transition for projects using C++20
without scanner support (e.g., Clang 15 or GCC 13). While newer
compilers will (needlessly) scan, it allows C++20-using projects to use
older compilers without having to set `CMAKE_CXX_SCAN_FOR_MODULES` to
support newer CMake minimum versions.
Fixes: #25357
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
C++ module sources should not be included by any other TUs, so their
presence cannot matter for order-only dependencies of the entire target.
Exclude them.
Update CMP0154 to take this into consideration and add tests to the
`CXXModules` suite (which already deals with module support detection).
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Run the script:
Utilities/Sphinx/update_versions.py --since v3.27.0 --overwrite
Manually remove directives added to new documentation of existing
environment variables.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
437280b127 cxxmodules: scan C++ sources for imports by default
3cddd11649 Ninja: message about not compiled sources explicitly
068fde1c34 cmGeneratorTarget: use `this->` for method calls
197a6bf171 cxxmodules: rework control logic for scanning regular C++ sources
5eb7bd641a Tests/RunCMake/CXXModules: remove rules file requirement
ff18acc301 CXXModules: remove `EXPERIMENTAL` from C++ module variable names
0c07f39006 cmExperimental: remove the flag for C++ modules
68caec9137 Help: add a manpage for cxxmodule support
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Pavel Solodovnikov <hellyeahdominate@gmail.com>
Merge-request: !8828
|
| | |
| | |
| | |
| | |
| | | |
Existing projects are not using C++ modules in their sources,
so introduce policy CMP0155 to enable scanning by default.
|
|\ \ \
| |/ /
|/| /
| |/
| |
| |
| | |
55bf2a3494 Help: Document CMP0124 behavior on already-set variables
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8850
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Improve the documentation from commit 46896d98bb (foreach(): loop
variables are only available in the loop scope, 2021-04-25,
v3.21.0-rc1~245^2) to follow policy documentation convention.
Fixes: #25224
Inspired-by: Marius Messerschmidt <marius.messerschmidt@googlemail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This requires knowing when a generated header is public, which we can
model using file sets. Add policy CMP0154 to treat generated sources
as private by default in targets with file sets. Generated public
headers can be specified in public file sets.
Fixes: #24959
Issue: #15555
|
| | |
|
|/
|
|
|
|
|
|
| |
Previously REAL_PATH would collapse paths before resolving any symlinks
so if `..` crossed a symlink the output from `REAL_PATH` would be wrong.
It looked like REAL_PATH did this by mistake since it was a side-effect
of ensuring we had an absolute path before resolving symlinks.
|
|
|
|
| |
Add policy CMP0151 to preserve the old behavior by default.
|
|\
| |
| |
| |
| |
| |
| | |
550f63447d ExternalProject/FetchContent: Support relative remote URLs
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7988
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Teach `ExternalProject_Add` and `FetchContent_Declare` to resolve
relative remote URLs provided via `GIT_REPOSITORY`. Add policy
CMP0150 to maintain compatibility.
Fixes: #24211
Co-Authored-By: Craig Scott <craig.scott@crascit.com>
|
|\ \
| |/
|/| |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Add policy `CMP0149` to stop preferring SDKs exactly matching
`CMAKE_SYSTEM_VERSION` over the latest SDK.
Fixes: #16202
|