summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Utilities/Sphinx: Add hanging indent to version notesMatthew Woehlke2023-03-141-0/+11
| | | | | | | Tweak HTML styling of version-{added,changed} notes to include a hanging indent. This makes it more obvious what text is part of such a note in cases where the note is lengthy (especially if more than one paragraph), rather than the relevant text blending into the surrounding prose.
* Merge branch 'release-3.26'Brad King2023-03-140-0/+0
|\
| * CMake 3.26.0v3.26.0Brad King2023-03-141-1/+1
| |
* | Merge topic 'smart-wrap-signatures'Brad King2023-03-143-12/+93
|\ \ | | | | | | | | | | | | | | | | | | 39ecaa5da1 Utilities/Sphinx: Improve word wrap of signatures Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8317
| * | Utilities/Sphinx: Improve word wrap of signaturesMatthew Woehlke2023-03-133-12/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement logic to support several styles of parsing in the new signature directive that control where line breaks are allowed in a signature. The default is 'smart', which forbids breaks inside of square- or angle-brackets. The 'verbatim' option forbids all breaks. In all cases, breaks are always allowed where a newline appears in the source. This seems to Just Work for most writers, but HTML needs some special handling that is accomplished by a new CSS rule and assigning the 'nbsp' class to spaces that are not allowed to break. (ROFF's line wrapping is rather unfortunate here, as it prefers splitting and hyphenating words rather than breaking at a space.)
* | | Merge topic 'genex-explicit-target'Brad King2023-03-143-5/+34
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2e37a20f02 Utilities/Sphinx: Allow explicit target for genex Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Raul Tambre <raul@tambre.ee> Merge-request: !8321
| * | | Utilities/Sphinx: Allow explicit target for genexMatthew Woehlke2023-03-133-5/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Split the genex directive into its own class, allowing a slight simplification of CMakeObject. Add ability to specify an explicit target name for the same. Use this to provide a target for the `$<TARGET_PROPERTY:prop>` generator expression which is otherwise missing one (due to overlap with `$<TARGET_PROPERTY:tgt,prop>`). With this one can write: :genex:`$<TARGET_PROPERTY:prop> <TARGET_PROPERTY:prop>` to link the second variant. Fixes: #24573
* | | | Merge topic 'incneed'Brad King2023-03-148-23/+17
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 03c6ebf2b5 Modules:Check,GenerateExportHeader: include only what's needed Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8311
| * | | | Modules:Check,GenerateExportHeader: include only what's neededscivision2023-03-138-23/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GenerateExportHeader had a hidden state requirement that other modules were included first. Considering include_guard, Modules should include all they actually use.
* | | | | Merge topic 'recursion-limit'Brad King2023-03-1461-70/+459
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 49167cf68f Source: Adjust stack sizes and recursion limits to work together 9504cef8c4 Tests: Allow RunCMake.MaxRecursionDepth to test public-facing default limit 60ef076bac find_package: Enforce maximum nesting depth below maximum recursion depth 89b69bf1ad Add CMAKE_MAXIMUM_RECURSION_DEPTH environment variable 395895bda7 cmMakefile: Factor out helper to get recursion depth limit 88bc8dfc14 cmMakefile: Store recursion depth limit as size_t fcad8d0630 cmMakefile: Improve parsing of CMAKE_MAXIMUM_RECURSION_DEPTH variable 497f7d5c1a Tests: Simplify option passing to RunCMake.MaxRecursionDepth cases Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8307
| * | | | | Source: Adjust stack sizes and recursion limits to work togetherBrad King2023-03-134-20/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adjust `CMake_DEFAULT_RECURSION_LIMIT` and/or the process stack size on each platform to pass the `RunCMake.MaxRecursionDepth` test's "default" cases.
| * | | | | Tests: Allow RunCMake.MaxRecursionDepth to test public-facing default limitBrad King2023-03-132-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously we compiled in a smaller default limit during nightly testing and CI builds, so we were not testing the same default limit that end-users will see. Instead, set the limit during testing using an environment variable so that we can unset it when testing the default limit in `RunCMake.MaxRecursionDepth`.
| * | | | | find_package: Enforce maximum nesting depth below maximum recursion depthBrad King2023-03-137-18/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The stack usage for nested `find_package` calls is much larger than for other kinds of recursion, so enforce a lower limit to avoid stack overflow.
| * | | | | Add CMAKE_MAXIMUM_RECURSION_DEPTH environment variableBrad King2023-03-1349-0/+366
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend the recursion limit controls added by commit a6982cff0d (cmMakefile: Impose maximum recursion limit, 2018-12-14, v3.14.0-rc1~82^2) with an environment variable that is used if the CMake variable of the same name is not set.
| * | | | | cmMakefile: Factor out helper to get recursion depth limitBrad King2023-03-132-10/+18
| | | | | |
| * | | | | cmMakefile: Store recursion depth limit as size_tBrad King2023-03-134-11/+8
| | | | | |
| * | | | | cmMakefile: Improve parsing of CMAKE_MAXIMUM_RECURSION_DEPTH variableBrad King2023-03-091-6/+5
| | | | | |
| * | | | | Tests: Simplify option passing to RunCMake.MaxRecursionDepth casesBrad King2023-03-091-16/+6
| | | | | |
* | | | | | Merge topic 'support_cubin_fatbin_optix_cuda_output'Brad King2023-03-1423-35/+463
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2def6a874b CUDA: Add support for CUBIN, FATBIN, and OPTIXIR compilation Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8259
| * | | | | | CUDA: Add support for CUBIN, FATBIN, and OPTIXIR compilationRobert Maynard2023-03-1323-35/+463
| | | | | | |
* | | | | | | Merge branch 'release-3.26'Brad King2023-03-140-0/+0
|\ \ \ \ \ \ \ | | |_|_|_|_|/ | |/| | | | |
| * | | | | | Merge topic 'revert-CheckCompilerFlag-clang-argument-unused' into release-3.26Brad King2023-03-145-4/+26
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 97fcd3bd30 CheckCompilerFlag: Revert 'Match the Clang "argument unused" output ...' Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !8322
* | \ \ \ \ \ \ Merge topic 'revert-CheckCompilerFlag-clang-argument-unused'Brad King2023-03-145-4/+26
|\ \ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 97fcd3bd30 CheckCompilerFlag: Revert 'Match the Clang "argument unused" output ...' Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: scivision <michael@scivision.dev> Merge-request: !8322
| * | | | | | | CheckCompilerFlag: Revert 'Match the Clang "argument unused" output ...'Brad King2023-03-135-4/+26
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit 5b45a3d0ce (CheckCompilerFlag: Match the Clang "argument unused" output for all languages, 2023-01-23, v3.26.0-rc1~38^2). It broke existing projects that were silently tolerating unrelated unused arguments in their checks for C and CXX. For example, using `CFLAGS=-nostdinc` or `CXXFLAGS=-nostdinc++` causes those flags to be used when driving the linker as well, and Clang warns they are unused in that case. Add a test case covering the now-restored behavior. Fixes: #24591
* | | | | | | CMake Nightly Date StampKitware Robot2023-03-141-1/+1
| |_|_|_|/ / |/| | | | |
* | | | | | Merge branch 'release-3.26'Brad King2023-03-130-0/+0
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Merge branch 'release-3.25' into release-3.26Brad King2023-03-130-0/+0
| |\ \ \ \ \
* | \ \ \ \ \ Merge branch 'release-3.25'Brad King2023-03-130-0/+0
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | / / | |_|_|_|/ / |/| | | | |
| * | | | | Merge branch 'backport-3.25-log-failed-compiler-id' into release-3.25Brad King2023-03-131-2/+4
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | Merge-request: !8320
| | * | | | | CompilerId: Restore logging of failed identifications in CMake 3.25Brad King2023-03-131-2/+4
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes in commit 9c5bd7fe3a (CompilerId: Output errors from all attempts at detection, 2022-08-16, v3.25.0-rc1~290^2) accidentally stopped logging failed compiler identification build output. This was fixed for CMake 3.26 and later by commit 24ccc8c3c9 (CompilerId: Restore logging of failed identifications, 2023-01-16, v3.26.0-rc1~70^2~6). Backport it to 3.25.
* | | | | | Merge topic 'vs-BuildInParallel'Brad King2023-03-1316-4/+121
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7a7793e6d7 FindCUDA: Disallow with CMP0147 under Visual Studio d6353e74b4 VS: Add policy to build custom commands concurrently Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8314
| * | | | | | FindCUDA: Disallow with CMP0147 under Visual StudioBrad King2023-03-128-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FindCUDA's custom commands invoke `nvcc`, which invokes `cl`. Under VS this is done without a `/FS` flag, so `.pdb` generation races if we use `BuildInParallel`. The FindCUDA module has already been removed by policy CMP0146 after being deprecated since CMake 3.10, so it is simplest to just disallow this combination of features. Issue: #24576
| * | | | | | VS: Add policy to build custom commands concurrentlyBrad King2023-03-128-4/+92
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | Merge topic 'findopengl-gles'Brad King2023-03-135-31/+326
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | beb0a56c86 FindOpenGL: support finding GLES2 and GLES3 Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: Alex <leha-bot@yandex.ru> Merge-request: !8309
| * | | | | | FindOpenGL: support finding GLES2 and GLES3Jaswant Panchumarti2023-03-105-31/+326
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | This also makes the EGL component not GLVND-specific, so documentation and tests are updated accordingly.
* | | | | | Merge branch 'release-3.26'Brad King2023-03-130-0/+0
|\ \ \ \ \ \ | | |_|_|/ / | |/| | | |
| * | | | | Merge topic 'revert-optimize-target-depends-closure' into release-3.26Brad King2023-03-132-68/+56
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 685108a582 Ninja: Revert "Optimize target depends closure" due to performance regression Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8315
* | \ \ \ \ \ Merge topic 'revert-optimize-target-depends-closure'Brad King2023-03-132-68/+56
|\ \ \ \ \ \ \ | | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 685108a582 Ninja: Revert "Optimize target depends closure" due to performance regression Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8315
| * | | | | | Ninja: Revert "Optimize target depends closure" due to performance regressionBrad King2023-03-102-68/+56
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert commit 1f16af01f4 (cmGlobalNinjaGenerator: Optimize target depends closure, 2023-01-17, v3.26.0-rc1~74^2). It regressed generation time for some projects. Revert it pending further investigation.
* | | | | | CMake Nightly Date StampKitware Robot2023-03-131-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2023-03-121-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2023-03-111-1/+1
| |_|/ / / |/| | | |
* | | | | Merge topic 'signature-refs'Brad King2023-03-102-31/+71
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cc21d0e478 Utilities/Sphinx: Make signatures linkable 37e015d4a6 Utilities/Sphinx: Refactor Sphinx reference recording Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8305
| * | | | | Utilities/Sphinx: Make signatures linkableMatthew Woehlke2023-03-092-13/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add signatures to the collection of observed objects (which can be referenced elsewhere). Don't automatically strip parameters from a :command: reference, as these may now link signatures. (Do, however, munge them into 'text <ref>' form if they aren't already, as not doing so adds an extra '()' for some reason.) Correspondingly, change xref resolution to try to match 'command' when a ref like 'command(args)' is not matched, so that existing links to commands that have not been converted to use the new signature directive don't immediately break.
| * | | | | Utilities/Sphinx: Refactor Sphinx reference recordingMatthew Woehlke2023-03-081-18/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rewrite how we record objects in our Sphinx extensions to more closely conform to how other domains do likewise, and to store more information than was previously being stored. This is a first step toward being able to record and reference signatures.
* | | | | | Merge topic 'help-signatures'Brad King2023-03-104-59/+70
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8c52458a9e cmRST: Fix cmake domain directives with newline before argument d4b21bcdd6 cmRST: Fix typo in comment 6a84717d17 cmRST: Convert enum types to enum class Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8310
| * | | | | | cmRST: Fix cmake domain directives with newline before argumentBrad King2023-03-093-11/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `signature` directive added by commit 74e3c1d313 (Utilities/Sphinx: Add a directive to document command signatures, 2023-02-24) will be commonly used with the form: .. signature:: some_command(SOME_SIGNATURE) Docs for this signature. Drop the assumption that all CMake domain directives are immediately followed by their argument on the same line.
| * | | | | | cmRST: Fix typo in commentBrad King2023-03-091-1/+1
| | | | | | |
| * | | | | | cmRST: Convert enum types to enum classBrad King2023-03-092-47/+48
| | |_|/ / / | |/| | | | | | | | | | | | | | | | This improves readability and avoids unintended conversions.
* | | | | | Merge topic 'cxx-module-extensions'Brad King2023-03-1015-39/+39
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 45d1925efc Treat '.ccm', '.cxxm', and '.c++m' files as C++ sources 8c96d145c1 Tests/RunCMake: Match 'Tried extensions' output more robustly Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Acked-by: Ben Boeckel <ben.boeckel@kitware.com> Merge-request: !8308