| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Fixes #21559
|
| |
|
|
|
|
| |
The previous wording could be confused with the file missing on disk.
|
|
|
|
|
|
| |
Run the script:
Utilities/Sphinx/update_versions.py --since v3.18.0 --overwrite
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`ExternalProject_Add_StepTargets` and `INDEPENDENT_STEP_TARGETS` have
some limitations and lack some sanity checks. They can cause confusing
build systems to be generated. The basic problems are:
* The notion of step independence is attached to the step target
rather than the step itself.
* The custom commands implementing the steps are duplicated in the
step targets and the primary targets. This can cause races.
It is also incompatible with the Xcode "new build system".
Fix this by introducing policy CMP0114 to change the way step target
dependencies are handled. Define independence from external
dependencies as a property of each individual step regardless of whether
there is a target for it. Add dependencies among the primary target and
the step targets such that each custom command only appears in one
target. When some steps are disconnected from the primary target, add
step targets for the steps commonly depended upon so that there is a
place to hold their custom commands uniquely.
Fixes: #18663
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Do not attach a custom command to a target if it is already attached to one of
the target's dependencies. The command's output will be available by the time
the target needs it because the dependency containing the command will have
already been built.
This may break existing projects that do not properly mark non-created
outputs with the `SYMBOLIC` property. Previously a chain of two custom
commands whose intermediate dependency is not created would put both
commands in a dependent project's Makefile even if the first command is
also in its dependency's Makefile. The first command would run twice
but the build would work. Now the second command needs an explicit
`SYMBOLIC` mark on its input to tell CMake that it is not expected to
exist. To maintain compatibility with projects that left out the mark,
add a policy activating the behavior.
|
|
|
|
|
|
|
|
|
|
| |
Only generate a graph dependency between a custom command and
a target when the custom command queries for the file path
of an artifact of the target.
This makes generator expressions such as `TARGET_FILE_DIR`
behave the same way as `TARGET_PROPERTY` which never generated
a graph dependency.
|
|
|
|
|
|
|
|
| |
Previously we would synthesize <TARGET_NAME>-NOTFOUND as the location. This
would then end up on the link line and cause build failures.
Policy CMP0110 is added to control this behaviour.
Fixes #19080, #19943.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Restore the change from commit f84af8e270 (add_test: Allow special
characters in test name, 2020-05-16, v3.18.0-rc1~142^2) that had to be
reverted by commit f84af8e270 (add_test: Allow special characters in
test name, 2020-05-16, v3.18.0-rc1~142^2) for compatibility.
Add policy CMP0110 to make the change in a compatible way.
Also, support even more characters than before by generating the
test scripts using bracket arguments around the test names.
Fixes: #19391
Signed-off-by: Deniz Bahadir <dbahadir@benocs.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
See https://github.com/codespell-project/codespell#readme
The following command was used:
```
codespell -q6 --skip="\
.git,\
*.json,\
./Copyright.txt,\
./Help/command/foreach.rst,\
./Help/prop_test/REQUIRED_FILES.rst,\
./Help/variable/CTEST_COVERAGE_COMMAND.rst,\
./Modules/CMakeCheckCompilerFlagCommonPatterns.cmake,\
./Modules/CMakeRCInformation.cmake,\
./Modules/Internal/CPack/NSIS.template.in,\
./Modules/FindMatlab.cmake,\
./Modules/MatlabTestsRedirect.cmake,\
./Modules/Platform/Windows-Clang.cmake,\
./Modules/Platform/Windows-Intel-Fortran.cmake,\
./Modules/Platform/Windows-MSVC.cmake,\
./Source/CMakeVersion.cmake,\
./Source/cmConvertMSBuildXMLToJSON.py,\
./Source/cmCreateTestSourceList.cxx,\
./Source/cmGlobalVisualStudio10Generator.cxx,\
./Source/cmExportBuildFileGenerator.cxx,\
./Source/cmExportInstallAndroidMKGenerator.cxx,\
./Source/cmExportInstallFileGenerator.cxx,\
./Source/cmExportSet.cxx,\
./Source/cmExportTryCompileFileGenerator.cxx,\
./Source/cmFindPackageCommand.cxx,\
./Source/cmInstallCommand.cxx,\
./Source/cmGeneratorExpressionLexer.cxx,\
./Source/cmLocalVisualStudio7Generator.cxx,\
./Source/cmOrderDirectories.cxx,\
./Source/cmTarget.cxx,\
./Source/kwsys/*,\
./Source/QtDialog/CMakeSetupDialog.ui,\
./Source/CPack/WiX/cmWIXRichTextFormatWriter.cxx,\
./Source/CTest/cmParseCoberturaCoverage.h,\
./Tests/CMakeTests/ImplicitLinkInfoTest.cmake.in,\
./Tests/RunCMake/CPack/tests/DMG_SLA/English.license.rtf,\
./Tests/RunCMake/CPack/tests/DMG_SLA/German.license.txt,\
./Tests/RunCMake/CPack/tests/DMG_SLA/German.menu.txt,\
./Tests/RunCMake/GoogleTest/xml_output.cpp,\
./Tests/RunCMake/Make/TargetMessages*,\
./Utilities/*,\
" \
-L "\
dependees,\
endwhile,\
fo,\
filetest,\
helpfull,\
nd,\
objext,\
stoll,\
supercedes,\
superceded,\
vas,\
varn,\
"
```
|
|
|
|
|
|
|
| |
Run the `Utilities/Sphinx/update_versions.py` script to add initial
markup to every top-level document and find module.
Issue: #19715
|
|
|
|
|
|
|
|
|
| |
This fix was first made by commit 86e6349ef7 (find_program: Find
programs that are executable but not readable, 2020-04-04,
v3.18.0-rc1~372^2) but was reverted for compatibility. Re-introduce it
with a policy for compatibility.
Fixes: #10468
|
|
|
|
|
|
|
|
|
|
| |
The ability to disable adding architectures completely for packaging purposes
and cases requiring passing the architectures flags explicitly has been
requested.
Support a false value for CUDA_ARCHITECTURES and CMAKE_CUDA_ARCHITECTURES
for this purpose.
Implements #20821.
|
|
|
|
| |
Fixes: #19617
|
|
|
|
| |
Fixes: #19616
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is an old module from when VTK and other Kitware projects drove the
addition of commands and modules into CMake itself. Modern VTK doesn't
need this module and it can be ignored.
This module is kept around so that the ancient VTK versions which use it
are not broken by it. VTK itself stopped using the module in 2012 and
the last usage by an example in VTK was removed in 2020.
Fixes: #20591
|
|
|
|
|
|
|
|
|
|
| |
properties LINK_OPTIONS and INTERFACE_LINK_OPTIONS are propagated
to the device link step.
To control which options are selected for normal link and device link steps,
the $<DEVICE_LINK> and $<HOST_LINK> generator expressions can be used.
Fixes: #18265
|
|
|
|
|
|
|
|
|
|
|
| |
Simplifies CUDA target architecture handling.
Required for Clang support as Clang doesn't automatically select a supported architecture.
We detect a supported architecture during compiler identification and set CMAKE_CUDA_ARCHITECTURES to it.
Introduces CMP0104 for backwards compatibility with manually setting code generation flags with NVCC.
Implements #17963.
|
|
|
|
| |
Fixes: 20472
|
|
|
|
| |
Fixes: #18331
|
|
|
|
| |
Fixes: #20200
|
|
|
|
|
|
|
| |
Reintroduces .hh header processing in AUTOMOC and AUTOUIC based on the new
policy CMP0100 setting.
Fixes: #13904 CMAKE_AUTOMOC misses headers with ".hh" extension
|
|
|
|
| |
Fixes: #20022
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| | |
a0a7a45dbc Help: Fix markup errors, improve wording of CMAKE_FIND... variable docs
049dbdd38c Help: Document that <PackageName>_ROOT applies to config packages too
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3952
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The original intent of <PackageName>_ROOT may have been for it
to apply only to Find modules, but the implementation of the
find_package() command treats modules and config packages the
same. Both result in a <PackageName>_ROOT variable being
pushed onto the stack of package roots. A config package can
also call other find_...() commands, the behavior doesn't apply
just to find modules.
|
|/ |
|
|
|
|
| |
Fixes #15592
|
|\
| |
| |
| |
| |
| |
| | |
282d9f3168 MSVC: Document behavior when MSVC_RUNTIME_LIBRARY is not set
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3573
|
| |
| |
| |
| |
| | |
By default `CMAKE_MSVC_RUNTIME_LIBRARY` is not set. Document the
default runtime library selection in that case. We already test it.
|
| |\
| | |
| | |
| | | |
Merge-request: !3459
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Introduce CMake policy `CMP0096` to make `project()` keep leading zeros
in version components. As a side effect, it now allows really long
version numbers.
Fixes: #19421
Co-Author: Brad King <brad.king@kitware.com>
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | | |
9e99a95c7d Android: ensure PIE behavior is consistent regardless CMP0083 policy
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3459
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In commit c4b4d8b3a6 (POSITION_INDEPENDENT_CODE: Manage link flags for
executables, 2018-10-02, v3.14.0-rc1~395^2) we accidentally removed our
Android-specific logic for PIE under the CMP0083 OLD behavior. Restore
it and also implement Android-specific logic for CMP0083 NEW behavior.
Fixes: #19393
|
| |/
|/|
| |
| |
| |
| |
| | |
Escape coincidental CMake syntax in RPATH entries when generating the
intermediary cmake_install.cmake script.
Fixes #19225
|
| | |
|
| |
| |
| |
| | |
This aligns module mode behaviour with config mode.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We do not add default warning flags on other compilers, and having
a warning flag in the default flags makes it hard for projects to
customize the warning level. They need to use string processing
to remove `/W3` from `CMAKE_{C,CXX}_FLAGS`. Therefore we should
drop it.
However, projects may be using string processing to replace `/W3`
with another flag, so we cannot simply drop it. Add a policy to
drop it in a compatible way.
Fixes: #18317
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Replace our hard-coded defaults for `/MD` and `/MDd` with a first-class
abstraction to select the runtime library from an enumeration of logical
names. We've long hesitated to do this because the idea of "runtime
library selection" 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 flags 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 CMP0091 to provide
compatibility.
Fixes: #19108
|
| | |
|
| | |
|
|\ \
| |/
| |
| |
| |
| |
| | |
ce730e9c22 Help: Clarify policy CMP0082 documentation
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3133
|
| |
| |
| |
| |
| |
| |
| | |
The policy documentation added by commit fc8955e889 (add_subdirectory:
Run subdirectory install rules in correct order, 2018-10-02,
v3.14.0-rc1~565^2~1) left out our usual sentence about the policy
providing compatibility.
|
| |
| |
| |
| |
| |
| |
| | |
The user package registry populated by the `export()` command causes
side effects outside the build and source directories. Such effects
should be opt-in rather than op-out. Introduce a policy to change
default behavior of `export(PACKAGE)` to do nothing.
|
|/
|
|
|
|
|
|
| |
We now identify IBM's Clang-based XL compilers, which define
`__ibmxl__`, as `XLClang` rather than `XL`. In order to support
existing project code that checks for `XL`, add a policy whose OLD
behavior is to present the compiler id as `XL` and whose NEW behavior is
to present the compiler id as `XLClang` as we really detect it.
|
|
|
|
| |
Fixes: #18955
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
f255280fd9 PIE link options: Update strategy to fix performance regression
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2739
|
| |
| |
| |
| | |
Fixes: #18700
|
|/
|
|
|
|
|
| |
This also introduces CMP0087 which will keep the OLD behaviour of not
evaluating generator expressions
Fixes: #15785
|