summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Autogen: Add CMAKE_AUTO*_EXECUTABLE variablesOrkun Tokdemir2023-03-2210-0/+81
| | | | | | | | Add the `CMAKE_AUTOMOC_EXECUTABLE`, `CMAKE_AUTOUIC_EXECUTABLE`, and `CMAKE_AUTORCC_EXECUTABLE` variables to initialize the corresponding `AUTO{MOC,UIC,RCC}_EXECUTABLE` target properties. Fixes: #20071
* CMake Nightly Date StampKitware Robot2023-03-161-1/+1
|
* Merge topic 'sphinx-cref'Brad King2023-03-155-15/+63
|\ | | | | | | | | | | | | | | | | 302f5171d8 Utilities/Sphinx: Add 'cref' role bc77ddb90c Utilities/Sphinx: Factor out part of CMakeXRefRole Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: buildbot <buildbot@kitware.com> Merge-request: !8313
| * Utilities/Sphinx: Add 'cref' roleMatthew Woehlke2023-03-145-3/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | Add a role that can be used to create local links (a la '`LINK`_'), but that also applies literal style. This is particularly useful for referring to subcommands within the command's documentation in a style that is consistent with ':command:`BAR <foo(BAR)>`' but is much less verbose. Although this is intended for subcommands, it works with any local reference. Co-authored-by: Brad King <brad.king@kitware.com>
| * Utilities/Sphinx: Factor out part of CMakeXRefRoleMatthew Woehlke2023-03-141-13/+29
| | | | | | | | | | | | | | Refactor the portion of CMakeXRefRole that escapes angle brackets in reference titles to the equivalent of a C++ template class. This will allow us to reuse that logic for reference roles that aren't derived from XRefRole.
* | Merge topic 'iar-improve-asm'Brad King2023-03-152-27/+63
|\ \ | | | | | | | | | | | | | | | | | | 21f19d6af7 IAR:Improved assembler support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8323
| * | IAR:Improved assembler supportJoakim Lönnberg2023-03-142-27/+63
| | |
* | | CMake Nightly Date StampKitware Robot2023-03-151-1/+1
| |/ |/|
* | Merge topic 'version-hanging-indent'Brad King2023-03-141-0/+11
|\ \ | | | | | | | | | | | | | | | | | | 038f4c12e3 Utilities/Sphinx: Add hanging indent to version notes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8325
| * | 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 topic 'doc-command-link-text'Brad King2023-03-141-3/+8
|\ \ \ | |/ / |/| | | | | | | | | | | | | | c8679f0571 Utilities/Sphinx: Restore trailing parens on command cross-references Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !8326
| * | Utilities/Sphinx: Restore trailing parens on command cross-referencesBrad King2023-03-141-3/+8
|/ / | | | | | | | | | | | | | | | | | | Since commit cc21d0e478 (Utilities/Sphinx: Make signatures linkable, 2023-03-09) we always convert `cmake:command` domain cross-references to use the explicit `text <text>` form. This breaks the XRefRole's `fix_parens` setting that we use to render `cmd` as `cmd()`. Instead, transform `cmd(sub)` to `cmd(sub) <cmd(sub)>` to preserve the sub-command link destination, but leave `cmd` alone and let XRefRole convert it to `cmd()`.
* | 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.