Commit Graph

6167 Commits

Author SHA1 Message Date
Brad King
1cde77e526 Merge topic 'doc-find_package-BYPASS_PROVIDER'
4f7a0c25d2 Help: Document BYPASS_PROVIDER keyword for find_package()
76370e06b8 Help: Minor grammar fix for the Using Dependencies manual

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7501
2022-07-25 12:02:20 -04:00
Craig Scott
bfc68ccf9f Merge topic 'doc-CMP0097-FetchContent'
1796ffbde9 Help: CMP0097 applies to FetchContent as well

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7504
2022-07-25 08:04:35 -04:00
Craig Scott
34329ee8a3 Merge topic 'doc-path-genex-corrections'
c7ab76e0ff Help: Fix wrong syntax for $<PATH:REPLACE_EXTENSION,...>

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7505
2022-07-25 08:03:19 -04:00
Craig Scott
c7ab76e0ff Help: Fix wrong syntax for $<PATH:REPLACE_EXTENSION,...> 2022-07-24 17:11:58 +10:00
Craig Scott
1796ffbde9 Help: CMP0097 applies to FetchContent as well
The omission of FetchContent_Declare() in the original policy docs
was just an oversight.
2022-07-24 16:23:36 +10:00
Craig Scott
4f7a0c25d2 Help: Document BYPASS_PROVIDER keyword for find_package()
Fixes: #23669
2022-07-23 21:43:49 +10:00
Craig Scott
76370e06b8 Help: Minor grammar fix for the Using Dependencies manual 2022-07-23 21:30:53 +10:00
Brad King
96564c5b2d Merge topic 'FindVulkan-dxc'
1277b873c9 FindVulkan: Add `dxc` (DirectX Shader Compiler) component

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7474
2022-07-22 10:16:23 -04:00
Brad King
66998035c1 Merge topic 'try_run_split_output'
a2cd0687db try_run: Add RUN_OUTPUT_STDOUT_VARIABLE and RUN_OUTPUT_STDERR_VARIABLE.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7453
2022-07-22 10:14:34 -04:00
Brad King
1cee9a9012 Merge topic 'tutorial_cdash_rearrange'
6c77ccec51 Tutorial: Move step 8 to step 5. Shift steps 5-7 to 6-8.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7480
2022-07-22 10:13:49 -04:00
HellsingDarge
1277b873c9 FindVulkan: Add dxc (DirectX Shader Compiler) component 2022-07-20 17:06:31 -04:00
Brad King
4ea33b41d7 Merge topic 'doc-execute_process'
70c26a65b7 Help: Clarify execute_process OS-specific command-line encoding

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7492
2022-07-20 12:39:44 -04:00
Brad King
70c26a65b7 Help: Clarify execute_process OS-specific command-line encoding
Issue: #23557
2022-07-20 11:46:23 -04:00
Brad King
12192e7f94 Merge topic 'doc_command_links'
033c066543 Help: Add see-also refs for flow control commands

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7467
2022-07-20 09:27:55 -04:00
Brad King
90bee06928 Merge topic 'tutorial_documentation'
bc0aef31ee Tutorial: Add reference links for step 1 commands

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7464
2022-07-20 09:26:51 -04:00
Brad King
e077d0b351 Merge topic 'doc-example-target-sources'
c7c5a50b97 Help: Add missing PRIVATE keyword to target_sources() example

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7490
2022-07-20 08:45:54 -04:00
Brad King
de8df25a20 Merge topic 'doc-example-target-sources' into release-3.24
c7c5a50b97 Help: Add missing PRIVATE keyword to target_sources() example

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7490
2022-07-20 08:45:53 -04:00
Brad King
25ecf6dbed Merge topic 'doc-restructure-genex-manual'
d6af935467 Help: Add Whitespace And Quoting section to genex manual
044c22e121 Help: Restructure reference sections of genex manual
3666486c28 Help: Move reference content to its own section at end of genex manual
22f8a626c3 Help: Add missing versionadded for CUDA genexes
c57c3dbbec Help: Genex manual typo, grammar, formatting, wording fixes
2b102438f8 Help: Boolean genex conditions must evaluate to 1 or 0
d2cb36861f Help: Fix cross-references in genex manual that linked to wrong genexes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7479
2022-07-20 08:44:59 -04:00
Brad King
d6db6ffae8 Merge topic 'doc-restructure-genex-manual' into release-3.24
d6af935467 Help: Add Whitespace And Quoting section to genex manual
044c22e121 Help: Restructure reference sections of genex manual
3666486c28 Help: Move reference content to its own section at end of genex manual
22f8a626c3 Help: Add missing versionadded for CUDA genexes
c57c3dbbec Help: Genex manual typo, grammar, formatting, wording fixes
2b102438f8 Help: Boolean genex conditions must evaluate to 1 or 0
d2cb36861f Help: Fix cross-references in genex manual that linked to wrong genexes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7479
2022-07-20 08:44:58 -04:00
Craig Scott
c7c5a50b97 Help: Add missing PRIVATE keyword to target_sources() example
Fixes: #23746
2022-07-20 20:19:37 +10:00
Markus Ferrell
6c77ccec51 Tutorial: Move step 8 to step 5. Shift steps 5-7 to 6-8. 2022-07-19 15:32:42 -04:00
Markus Ferrell
bc0aef31ee Tutorial: Add reference links for step 1 commands 2022-07-19 13:18:55 -04:00
Markus Ferrell
033c066543 Help: Add see-also refs for flow control commands 2022-07-19 13:06:25 -04:00
Craig Scott
d6af935467 Help: Add Whitespace And Quoting section to genex manual 2022-07-19 21:13:54 +10:00
Craig Scott
044c22e121 Help: Restructure reference sections of genex manual
As part of the general restructuring, also move the notes of a more
introductory nature out of what was the "String-Valued Generator
Expressions" section and up to the dedicated Introduction. This gives
the reader a bit more of a foundation before they get to the heavier
detail of the reference section.
2022-07-19 21:13:52 +10:00
Craig Scott
3666486c28 Help: Move reference content to its own section at end of genex manual
This involves moving the Debugging section up to just after the
introduction. The content of that section is unchanged.
The reference section then follows, and since it is a dedicated
section, all existing sections thereunder were demoted one level.

Move the note about deviating from the usual CMake docs convention
of using angle brackets around placeholders out of the Introduction
and to the start of the reference section. No placeholders are used
before that point, so that content no longer belongs in the introduction.
Apply some minor wording cleanup to the content in the Introduction
that remained.
2022-07-19 21:11:27 +10:00
Craig Scott
22f8a626c3 Help: Add missing versionadded for CUDA genexes 2022-07-19 17:25:23 +10:00
Craig Scott
c57c3dbbec Help: Genex manual typo, grammar, formatting, wording fixes 2022-07-19 16:45:04 +10:00
Craig Scott
2b102438f8 Help: Boolean genex conditions must evaluate to 1 or 0 2022-07-19 16:04:56 +10:00
Craig Scott
d2cb36861f Help: Fix cross-references in genex manual that linked to wrong genexes 2022-07-19 14:18:01 +10:00
Brad King
7647cfe9d6 Merge topic 'doc-LINK_LIBRARIES_ONLY_TARGETS_direct_deps'
f585c61667 Help: LINK_LIBRARIES_ONLY_TARGETS also checks injected direct libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7466
2022-07-18 11:01:59 -04:00
Marc Chevrier
f1150f30cd Merge topic 'better_doxy_ver_check'
eaec9cf65d FindDoxygen: Implement more complete version checking

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !7442
2022-07-10 04:42:24 -04:00
Craig Scott
f585c61667 Help: LINK_LIBRARIES_ONLY_TARGETS also checks injected direct libraries
The INTERFACE_LINK_LIBRARIES_DIRECT property can add direct
link dependencies to the target at the head of the dependency chain.
The checks associated with LINK_LIBRARIES_ONLY_TARGETS also apply
to these link items, but the documentation wasn't updated to reflect
this when the INTERFACE_LINK_LIBRARIES_DIRECT support was added.
2022-07-10 18:15:22 +10:00
Patrick Northon
a2cd0687db try_run: Add RUN_OUTPUT_STDOUT_VARIABLE and RUN_OUTPUT_STDERR_VARIABLE. 2022-07-08 15:49:02 -04:00
Brad King
46a0b454d8 Merge topic 'doc-INTERFACE_LINK_LIBRARIES_DIRECT'
6b103dd58a Help: Fix wrong property name INTERFACE_PROPERTY_LINK_DIRECT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7461
2022-07-08 10:54:44 -04:00
Craig Scott
6b103dd58a Help: Fix wrong property name INTERFACE_PROPERTY_LINK_DIRECT
This is the name of a placeholder used for some documentation in
`Help/prop_tgt/INTERFACE_LINK_LIBRARIES_DIRECT.txt` that is included in
multiple documents.  During development iterations, much of the content
was moved to just `Help/prop_tgt/INTERFACE_LINK_LIBRARIES_DIRECT.rst`,
but the placeholder was not correctly replaced by its property name.
2022-07-08 09:19:54 -04:00
Brad King
983a5b1a7e Merge topic 'install-destination-docs'
52164be691 Help: Clarify behavior of install(TARGETS) for DLLs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7457
2022-07-08 09:05:51 -04:00
Christian Heimlich
eaec9cf65d FindDoxygen: Implement more complete version checking
The foundation of the Doxygen Find Module's detection methodology
is the command `find_program`, which has inhibited the module from
properly handling user version restrictions when provided.

Because `find_program` historically has always returned after the first
match and does not consider version constraints, users of this module
are inadvertently at the mercy of the command's search procedure.
Essentially, `find_package(Doxygen ...)` will always provide the first
Doxygen build found through said procedure, even if it conflicts with
the user's version requirements, and even if another build exists on
the system that would satisfy those requirements (i.e. shadowing).

Utilizes the new `VALIDATOR` option of `find_program` to ensure all
otherwise detectable builds of Doxygen on a given system are evaluated
and that only a build in compliance with `Doxygen_FIND_VERSION`
et. al., when defined, will be matched against.

Also enables handling of version ranges specified within `find_package`
via the **FindPackageHandleStandardArgs** module.

Finally, ensures that only the major, minor, and patch components of
Doxygen's `--version` output are captured for comparison in cases where
it contains additional information, such as a git commit hash.

Fixes: #23692
2022-07-07 13:41:31 -04:00
Brad King
4c50f639c7 Merge topic 'cpp-named-module-export-infra'
f62c3c3c72 RunCMake/CXXModules: test public modules requiring private modules
c5d4dd713f RunCMake/CXXModules: add tests which export BMIs
4d55f1422e RunCMake/CXXModules: test installation of BMIs and interfaces
eff45f790d RunCMake/CXXModules: fix example follow-on case names
a87c39dad1 RunCMake/CXXModules: output example test output upon failure
727e3db07a RunCMake/CXXModules: append to the test options
f899563ae4 cmGlobalNinjaGenerator: verify that private sources stay private
9ecd3e771b cmGlobalNinjaGenerator: generate install rules for BMI files
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Alex <leha-bot@yandex.ru>
Merge-request: !7224
2022-07-07 09:25:55 -04:00
Brad King
24631689f0 Merge topic 'genex-LINK_LIBRARY-check-supported-properties'
913ea78d7a Genex LINK_LIBRARY and LINK_GROUP: check supported properties

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7454
2022-07-07 09:07:01 -04:00
Kyle Edwards
52164be691 Help: Clarify behavior of install(TARGETS) for DLLs
Fixes: #23695
2022-07-06 12:03:53 -04:00
Marc Chevrier
913ea78d7a Genex LINK_LIBRARY and LINK_GROUP: check supported properties
Refines check for properties supporting these genex.
Enhance error message.

Fixes: #23699
2022-07-06 16:15:43 +02:00
Ben Boeckel
48502a3781 cmExperimental: update CXX_MODULE_CMAKE_API UUID
The set of features available has been expanded, so update the UUID.
2022-07-06 10:15:23 -04:00
Ben Boeckel
fe44cbe9e7 exports: support CXX_MODULES_DIRECTORY
This directory will be used to store build-discovered information about
targets such as the modules provided by the files in the relevant
`FILE_SET` types.

A directory is used because basing the name on a `<FILE_NAME>-*.cmake`
pattern makes it end up being globbed in the configuration-dependent
information mechanism. Since old modules and targets may be around,
unconditionally including them may refer to targets that do not actually
exist.
2022-07-06 10:15:23 -04:00
Ben Boeckel
29118091dc install: support CXX_MODULES_BMI installation bits 2022-07-06 10:15:23 -04:00
Ben Boeckel
f3cfde394a cmTargetSourcesCommand: allow INTERFACE C++ modules when imported
`PUBLIC` filesets become `INTERFACE` upon installation. Allow
`INTERFACE` scopes for C++ modules when the target is imported.
2022-07-06 10:15:23 -04:00
Brad King
fd0042b68a Merge topic 'freebsd-cpack-update'
2655605261 FreeBSD: follow CPACK_PACKAGE_FILE_NAME, if set
50580af645 FreeBSD (docs): repair errors in documentation of FreeBSD-cpack
1b61cd1597 FreeBSD: explain the pkg_create() call
57e8cd1a81 FreeBSD: drop support for libpkg before 1.17

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7447
2022-07-06 09:19:45 -04:00
Brad King
b80ccea686 Merge topic 'enable_language-deduplicate'
e3c8012ccd Help: Document enable_language accepting multiple languages
b4fd385c9b cmMakefile: Dedupe languages when enabling them
66bfe14309 cmMakefile: Refactor parameter and variable names for EnableLanguage

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7426
2022-07-06 09:16:34 -04:00
Brad King
90f292db56 Merge topic 'doc-cpack-archive-component'
5fa14ddecb Help: Document that CPack Archive Generator <component> is all uppercase

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7438
2022-07-05 17:33:55 -04:00
Brad King
a5a442d9e5 Merge topic 'doc-cpack-archive-component' into release-3.24
5fa14ddecb Help: Document that CPack Archive Generator <component> is all uppercase

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7438
2022-07-05 17:33:54 -04:00