| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
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
|
| |
| |
| |
| |
| |
| | |
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}`.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In commit 33c15ae2b9 (VS: Build custom commands concurrently when
possible, 2023-01-19, v3.26.0-rc1~56^2) we added `BuildInParallel` to
custom commands in `.vcxproj` files, but that had to be reverted by
commit abb1c12162 (VS: Revert "Build custom commands concurrently when
possible", 2023-03-07, v3.26.0-rc6~3^2) because some projects may have
custom commands that accidentally rely on serial execution in MSBuild.
Add a policy to use `BuildInParallel` for custom commands in projects
that have been updated to set the policy to `NEW`.
Fixes: #18405
|
| |
| |
| |
| |
| |
| | |
The `FindCUDA` module has been deprecated since CMake 3.10.
Add a policy to pretend it doesn't exist in order to encourage
projects to port away from it.
|
| |
| |
| |
| |
| | |
These modules and the "DART" tool they support have long been replaced
by CTest.
|
|\ \
| |/
| |
| |
| |
| |
| |
| | |
b39b3e3bdb Help: Fix typos and grammar in 3.26 release notes
9f1360ae19 Help: Improve wording of FOLDER-related properties and policies
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8264
|
| | |
|
|/
|
|
|
|
|
|
|
| |
Extend commit eb35d8884b (find_package: Use PackageName_ROOT variables
as search prefixes, 2018-03-15, v3.12.0-rc1~349^2) to also check
upper-case `<PACKAGENAME>_ROOT` variables. Add policy `CMP0144` to
enable the behavior in a compatible way.
Fixes: #24403
|
| |
|
|
|
|
|
| |
At least the top-reference links. Internal `:ref:` usages have been left
intact.
|
|\
| |
| |
| |
| |
| |
| |
| | |
d3acd22380 USE_FOLDERS: Treat as on by default
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Amir Masoud Abdol <amirmasoudabdol@icloud.com>
Merge-request: !7830
|
| |
| |
| |
| |
| |
| |
| | |
Add a policy to treat the `USE_FOLDERS` global property as ON by default
if it is not set.
Fixes: #21695
|
|/
|
|
| |
Mostly it's about replace `http:` with `https:` protocol.
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
00b788e85e Help:custom_command: link policy on BYPRODUCTS
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7662
|
| |
| |
| |
| |
| |
| | |
Link policy explaining BYPRODUCTS.
Fixes: #23786
|
|/
|
|
|
|
|
| |
Add policy `CMP0142` to remove the automatic addition of the
`$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)` suffix in a compatible way.
Fixes: #21757
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace our hard-coded default for `/Zi` with a first-class abstraction
to select the debug information format an enumeration of logical
names. We've long hesitated to do this because the idea of "debug
information format" touches on related concepts on several platforms.
Avoid that scope creep by simply defining an abstraction that applies
only when targeting the MSVC ABI on Windows.
Removing the old default flag requires a policy because existing
projects may rely on string processing to edit them and choose a
runtime library under the old behavior. Add policy CMP0141 to
provide compatibility.
Fixes: #10189
|
|
|
|
| |
Fixes: #23871
|
| |
|
|
|
|
| |
The omission of FetchContent_Declare() in the original policy docs
was just an oversight.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Forward `CMAKE_<LANG>_FLAGS` and `CMAKE_<LANG>_FLAGS_DEBUG` from the
calling project into the test project. The set of flags may affect the
availability of IPO support. Since this may change the result of the
check for existing projects, add a policy for compatibility.
This was discovered after commit 5fcadc481e (MSVC: Default to -ZI
instead of /Zi for x86 and x64, 2022-05-24) introduced policy CMP0138 to
switch our default for MSVC's debug info flag. The `-ZI` flag is
incompatible with the `-GL` flag used for IPO, so CMP0138 was reverted
pending future work on an alternative solution. Re-use the CMP0138
policy number for this change to CheckIPOSupported instead.
Fixes: #23607
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Revert commit 5fcadc481e (MSVC: Default to -ZI instead of /Zi for x86
and x64, 2022-05-24). The `-ZI` flag is incompatible with the `-GL`
flag used for IPO, and so is not an unconditionally better default.
Revert the change pending future design of a first-class setting for
MSVC debug info format that can be automatically reconciled with IPO
settings.
That commit introduced policy CMP0138, but we already have later policy
numbers used too. Leave placeholder text to avoid policy renumbering.
Issue: #23607, #10189
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Add a policy for compatibility.
For more information, see [1].
[1] https://docs.microsoft.com/en-us/cpp/build/reference/z7-zi-zi-debug-information-format?view=msvc-170
Fixes: #10189
|
|
|
|
|
|
|
| |
Add a `CMAKE_TRY_COMPILE_NO_PLATFORM_VARIABLES` variable to tell
`try_compile` not to pass platform variables to the test project.
Issue: #23219
|
|
|
|
|
|
|
|
|
| |
Add policy CMP0137 to propagate both our builtin variables and those
listed by `CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` to `try_compile`
whole-project builds.
Inspired-by: Alexander Neumann <Alexander.Neumann@hamburg.de>
Fixes: #23219
|
| |
|
|
|
|
|
|
|
|
| |
Add a `CMAKE_WATCOM_RUNTIME_LIBRARY` variable to control the
runtime library selection. Add policy CMP0136 to switch to
in place of the old hard-coded default flags.
Fixes: #23178
|