Commit Graph

6775 Commits

Author SHA1 Message Date
Brad King
08d31c227b Merge topic 'smart-wrap-signatures'
39ecaa5da1 Utilities/Sphinx: Improve word wrap of signatures

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8317
2023-03-14 09:39:52 -04:00
Brad King
17587c19f7 Merge topic 'genex-explicit-target'
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
2023-03-14 09:38:41 -04:00
Brad King
d45992e633 Merge topic 'recursion-limit'
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
2023-03-14 09:35:45 -04:00
Brad King
db4f4ad24e Merge topic 'support_cubin_fatbin_optix_cuda_output'
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
2023-03-14 09:35:00 -04:00
Matthew Woehlke
2e37a20f02 Utilities/Sphinx: Allow explicit target for genex
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
2023-03-13 17:04:52 -04:00
Matthew Woehlke
39ecaa5da1 Utilities/Sphinx: Improve word wrap of signatures
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.)
2023-03-13 13:31:38 -04:00
Brad King
89b69bf1ad Add CMAKE_MAXIMUM_RECURSION_DEPTH environment variable
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.
2023-03-13 11:45:58 -04:00
Robert Maynard
2def6a874b CUDA: Add support for CUBIN, FATBIN, and OPTIXIR compilation 2023-03-13 09:54:00 -04:00
Brad King
7d43bcb4db Merge topic 'vs-BuildInParallel'
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
2023-03-13 09:39:28 -04:00
Brad King
072372aeb8 Merge topic 'findopengl-gles'
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
2023-03-13 09:37:41 -04:00
Brad King
d6353e74b4 VS: Add policy to build custom commands concurrently
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
2023-03-12 07:51:58 -04:00
Jaswant Panchumarti
beb0a56c86 FindOpenGL: support finding GLES2 and GLES3
This also makes the EGL component not GLVND-specific, so documentation
and tests are updated accordingly.
2023-03-10 13:24:27 -05:00
Brad King
9db40bec4e Merge topic 'signature-refs'
cc21d0e478 Utilities/Sphinx: Make signatures linkable
37e015d4a6 Utilities/Sphinx: Refactor Sphinx reference recording

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8305
2023-03-10 11:09:59 -05:00
Brad King
d95ac61225 Merge topic 'cxx-module-extensions'
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
2023-03-10 11:08:11 -05:00
Brad King
45d1925efc Treat '.ccm', '.cxxm', and '.c++m' files as C++ sources
These extensions are used by convention for C++ module interface units
with Clang.

For now, do not add any tests using these extensions.
Very few compilers recognize them as C++ sources.
Tests can be added later as part of C++ modules support.
2023-03-09 14:36:01 -05:00
Matthew Woehlke
cc21d0e478 Utilities/Sphinx: Make signatures linkable
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.
2023-03-09 11:32:07 -05:00
Brad King
2c146a7fc5 FindCUDA: Add policy to remove this module
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.
2023-03-09 07:39:36 -05:00
Brad King
b159517414 Merge topic 'FindwxWidgets-imported-target'
e36e455b7c FindwxWidgets: Add an imported target
42c84b1e2e ci: Add wxWidgets to Debian and Fedora base images

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8289
2023-03-09 07:37:49 -05:00
Brad King
fff41b8fde Merge topic 'tutorial_refactor_cmake_scripts'
e1f2b35723 Tutorial: Refactor MakeTable commands into MakeTable.cmake

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8249
2023-03-09 07:34:26 -05:00
CheesyNacho10
e36e455b7c FindwxWidgets: Add an imported target 2023-03-08 16:39:38 -05:00
Brad King
a4e7b4d75a Merge branch 'release-3.25' 2023-03-08 10:35:31 -05:00
Brad King
5709a7e572 CMake 3.25.3 2023-03-08 10:01:06 -05:00
Brad King
9ee3e2cc7e Merge branch 'release-3.24' into release-3.25 2023-03-08 09:50:32 -05:00
Brad King
11bc16a319 Merge branch 'release-3.24' 2023-03-08 09:50:11 -05:00
Brad King
451d1c8b6c CMake 3.24.4 2023-03-08 09:15:32 -05:00
Brad King
9942115714 Merge topic 'find_cudatoolkit_add_cudla_targets'
21b102c77d FindCUDAToolkit: Add support for finding Tegra cudla library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8295
2023-03-08 08:58:46 -05:00
Robert Maynard
21b102c77d FindCUDAToolkit: Add support for finding Tegra cudla library
Fixes #24575
2023-03-07 13:47:16 -05:00
Brad King
3600be4e31 Help: Use signature directive for 'if' command 2023-03-07 13:38:39 -05:00
Brad King
bedd62d52c Help: Improve sentence structure around "if so" 2023-03-07 13:38:29 -05:00
Markus Ferrell
e1f2b35723 Tutorial: Refactor MakeTable commands into MakeTable.cmake 2023-03-07 11:43:26 -05:00
Brad King
ae7c4a5ff4 Help: Add internal cross-references to 'if' command docs 2023-03-07 08:50:31 -05:00
Brad King
95bfacb8bb Help: Indent 'if' command docs more consistently 2023-03-07 08:50:31 -05:00
Brad King
3d6075da4d Merge topic 'improve-doc-signatures'
533ebb072b Help: Use signature directive for string command
cd33f461a6 Help: Use signature directive for cmake_language command
74e3c1d313 Utilities/Sphinx: Add a directive to document command signatures
c09b760484 Utilities/Sphinx: Drop commented-out code from cmake domain impl
6e85ad7f8b Help/dev: Add per-directive sections in CMake Documentation Guide

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8243
2023-03-07 08:49:30 -05:00
Matthew Woehlke
533ebb072b Help: Use signature directive for string command 2023-03-06 09:52:52 -05:00
Matthew Woehlke
cd33f461a6 Help: Use signature directive for cmake_language command 2023-03-06 09:52:12 -05:00
Brad King
6b08358e17 Merge topic 'Apple-text-Stubs-imported-configurations'
2e24123186 Apple: text-based stubs: manage imported configurations mapping

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8283
2023-03-06 09:03:48 -05:00
Brad King
2e45df3168 Merge topic 'doc-CMAKE_NINJA_OUTPUT_PATH_PREFIX'
dbcae48e3a Help: Clarify usage of CMAKE_NINJA_OUTPUT_PATH_PREFIX

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8284
2023-03-06 09:00:26 -05:00
Brad King
617b8df7cf Merge topic 'clang-16-cxx-modules'
3fe8e33f27 Clang: Record Clang 16.0 flags for our experimental C++ modules support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Acked-by: Alex <leha-bot@yandex.ru>
Merge-request: !8285
2023-03-06 08:59:21 -05:00
Marc Chevrier
2e24123186 Apple: text-based stubs: manage imported configurations mapping 2023-03-05 14:39:56 +01:00
Matthew Woehlke
74e3c1d313 Utilities/Sphinx: Add a directive to document command signatures
Add a `signature` directive to offer a CMake version of Sphinx's
`function` directive, similar to that found in other domains (py, cpp,
etc.).  Like others, this takes one or more signatures as arguments and
creates dt/dd nodes from the signatures and the directive contents.
2023-03-03 17:05:02 -05:00
Brad King
dbcae48e3a Help: Clarify usage of CMAKE_NINJA_OUTPUT_PATH_PREFIX
Issue: #24566
2023-03-03 12:48:35 -05:00
Brad King
3fe8e33f27 Clang: Record Clang 16.0 flags for our experimental C++ modules support
LLVM/Clang 16.0 now contains official support for what CMake needs.
2023-03-03 12:44:53 -05:00
Brad King
1150418769 Merge topic 'doc-block'
2931f078dc Help:cmake-language: note new block() command scope

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8276
2023-03-03 09:21:17 -05:00
Brad King
10f318326f Merge topic 'doc-IMPORTED_CONFIGURATIONS'
8adcb73956 Help:IMPORTED_CONFIGURATIONS: Mention relation to IMPORTED_LOCATION
e1032a22eb Help:IMPORTED_IMPLIB: Mention IMPORTED_IMPLIB_<CONFIG> variant

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8281
2023-03-03 09:10:54 -05:00
Kyle Edwards
def618f1ae Merge topic 'TargetRunTimeDllDirs'
a2c9c4f202 Add test for the new TARGET_RUNTIME_DLL_PATHS genex
aa68de0a27 TARGET_RUNTIME_DLLS: minor refactoring of shared-check.cmake
2ce3d62ffb Help: add documentation for the new TARGET_RUNTIME_DLL_DIRS genex
c351dcd967 TARGET_RUNTIME_DLL_DIRS: add the new genex to cmGeneratorExpressionNode
064c3244da TARGET_RUNTIME_DLLS: fix test for this genex

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Alex <leha-bot@yandex.ru>
Merge-request: !8247
2023-03-02 16:28:30 -05:00
Brad King
8adcb73956 Help:IMPORTED_CONFIGURATIONS: Mention relation to IMPORTED_LOCATION 2023-03-02 15:25:32 -05:00
Brad King
e1032a22eb Help:IMPORTED_IMPLIB: Mention IMPORTED_IMPLIB_<CONFIG> variant
This is already done in `IMPORTED_LOCATION` documentation.
2023-03-02 15:25:00 -05:00
scivision
2931f078dc Help:cmake-language: note new block() command scope 2023-03-02 10:34:56 -05:00
Brad King
1d7fb31778 Merge topic 'Apple-handle-Text-Stubs'
ede33f30cf Apple: Handle generation and comsuption of text-based stubs (.tbd files)
fcbd723a50 Enhance support functions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !8204
2023-03-02 09:53:03 -05:00
Brad King
532ca3e7c7 Merge topic 'check-curses-min-cmake'
d70582eed8 ccmake: Update minimum required version of CMake for curses check

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8272
2023-03-01 09:36:36 -05:00