Commit Graph

8449 Commits

Author SHA1 Message Date
Maximilian Sander
cdf2a36f48 HIP: Add support for [CMAKE_]HIP_LINKER_LAUNCHER
`CMAKE_<LANG>_LINKER_LAUNCHER` and `<LANG>_LINKER_LAUNCHER` are
already support for C, CXX, CUDA, OBJC, OBJCXX, and Fortran.  Add HIP.

Closes: #26967
2025-05-30 10:05:46 -04:00
Maximilian Sander
77312cc636 CUDA: Add support for [CMAKE_]CUDA_LINKER_LAUNCHER
`CMAKE_<LANG>_LINKER_LAUNCHER` and `<LANG>_LINKER_LAUNCHER` are
already support for C, CXX, OBJC, OBJCXX, and Fortran.  Add CUDA.

Issue: #26967
2025-05-30 10:00:18 -04:00
Brad King
a385cafc59 Merge topic 'renesas-compiler'
514135f563 Renesas: Add support for Renesas compilers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10669
2025-05-29 13:13:08 -04:00
Brad King
1c8fa92921 Merge topic 'windows-module-def-per-lang'
8b710d8264 Linker: Generate per-language module -DEF: flags on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Markus Mützel <markus.muetzel@gmx.de>
Merge-request: !10836
2025-05-29 10:11:13 -04:00
Brad King
f2239ecff7 Merge topic 'ci-linkcheck'
3fdd1a1d13 Autogen: Replace documentation links with their permanent redirects

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10835
2025-05-29 10:09:11 -04:00
Brad King
8b710d8264 Linker: Generate per-language module -DEF: flags on Windows
With IntelLLVM on Windows, we link using the compiler driver.
With MSVC on Windows, we invoke the linker directly.  If we
use both in a single build tree, for separate languages,
the value of `CMAKE_LINK_DEF_FILE_FLAG` conflicts.  Add a
per-language `CMAKE_<LANG>_LINK_DEF_FILE_FLAG` variable to
avoid the conflict.  Preserve the language-agnostic variable
for compatibility with projects that reference it.

Fixes: #26005
2025-05-28 13:48:26 -04:00
Brad King
3fdd1a1d13 Autogen: Replace documentation links with their permanent redirects 2025-05-28 11:11:20 -04:00
Brad King
39da33ae81 CMakeDetermineVSServicePack: Add policy to remove this module
It has been documented as deprecated since CMake 3.0.
2025-05-28 09:47:06 -04:00
Hirofumi Nakamura
514135f563 Renesas: Add support for Renesas compilers
- CC-RX for RX architecture
- CC-RL for RL78 architecture
- CC-RH for RH850 architecture

Closes: #26880
2025-05-28 09:22:38 -04:00
Brad King
9ffbef62ca Merge topic 'improve-cps-docs'
551d4e399a Help: Improve CPS install documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10828
2025-05-28 09:20:01 -04:00
Brad King
bc9785a12b Merge topic 'linker-launcher'
d176a8c5ce Fortran: Add support for [CMAKE_]Fortran_LINKER_LAUNCHER

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10831
2025-05-28 09:17:17 -04:00
Brad King
479f4f5e9a Merge topic 'patch-CheckIncludeFile'
b2e7736d81 CheckIncludeFile*: Sync documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10826
2025-05-28 08:55:44 -04:00
Matthew Woehlke
551d4e399a Help: Improve CPS install documentation
Add documentation for several options related to CPS export/install that
were not previously documented. Add note to update documentation when
(if) COMPAT_VERSION support is not specific to CPS.
2025-05-27 12:28:05 -04:00
Maximilian Sander
d176a8c5ce Fortran: Add support for [CMAKE_]Fortran_LINKER_LAUNCHER
`CMAKE_<LANG>_LINKER_LAUNCHER` and `<LANG>_LINKER_LAUNCHER` are
already support for C, CXX, OBJC, and OBJCXX.  Add Fortran.

Closes: #26951
2025-05-27 11:00:54 -04:00
Peter Kokot
b2e7736d81 CheckIncludeFile*: Sync documentation
- Added intro code blocks showing how to include these modules.
- Used "command" instead of "macro".
- Mentioned policy CMP0075.
- Added additional example to CheckIncludeFile showing how to use
  CMAKE_REQUIRED_* variable.
2025-05-27 00:16:57 +02:00
Peter Kokot
e6f9ebbbe1 Check{,C,CXX,OBJC,OBJCXX,Fortran}SourceCompiles: Update documentation
Changes:

- Added intro code blocks showing how to include these modules.
- Added examples sections.
- Used "command" instead of "macro".
- Commands sections added to have a clearer overview of the modules at
  first encounter.
- Reworded commands arguments a bit.
- Added a rubric title for variables that affect the checks.
- CheckFortranSourceCompiles: Added CMake version when SRC_EXT option
  was introduced.
- Listed CMAKE_TRY_COMPILE_TARGET_TYPE variable in the rubric together
  with CMAKE_REQUIRED_* variables and added an include RST file for it.
- Used lowercase style for check_fortran_source_compiles().
2025-05-26 02:49:32 +02:00
Brad King
2bd60d2d2f Merge topic 'swift-module-nested-structure'
1711e86d6c Swift: Generate nested swift modules in build dir
b36175abdb Swift: Detect module triple from compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10664
2025-05-23 08:23:28 -04:00
Brad King
863ba7c207 Merge topic 'patch-CheckTypeSize'
1afdd98ca3 CheckTypeSize: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10808
2025-05-22 08:26:54 -04:00
Brad King
a792b23752 Merge topic 'patch-CheckLinkerFlag'
4b0bce12c8 CheckLinkerFlag: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10807
2025-05-22 08:24:15 -04:00
Evan Wilde
1711e86d6c Swift: Generate nested swift modules in build dir
The nested Swift module structure is recommended for Swift projects.
This structure has an outer directory called
`<Swift_MODULE_NAME>.swiftmodule` that contains generated files for the
interface. The binary swift modules, textual swift interface, and other
supplemental outputs that make up the interface to a Swift library all
go in this outer directory with the Swift module triple as the filename
followed by the appropriate file extension based on what that file
contains.

Issue: #19284
2025-05-21 10:19:58 -07:00
Brad King
fc9e9d1196 Merge topic 'automoc-specific-include-dirs'
39677f4cc6 AUTOMOC: Add option to specify moc include directories explicitly

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Osyotr <zhenchik35026@gmail.com>
Merge-request: !10640
2025-05-21 08:46:35 -04:00
Brad King
bb10fb3990 Merge topic 'patch-CheckSymbolExists'
58e8999c28 CheckSymbolExists, CheckCXXSymbolExists: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10804
2025-05-21 08:33:36 -04:00
Peter Kokot
1afdd98ca3 CheckTypeSize: Update documentation
- Added intro code block showing how to include this module.
- Used "command" instead of "macro".
- Described the command arguments in a list separately.
- Refactored some descriptions.
- Added a rubric title for variables that affect the check.
2025-05-20 23:35:18 +02:00
Peter Kokot
4b0bce12c8 CheckLinkerFlag: Update documentation
- Added intro code block showing how to include this module.
- Added a list of variables that can affect the check. The
  CMAKE_REQUIRED_LINK_OPTIONS is skipped as it is currently internally
  overridden by the module's check command.
- Added examples section.
- Described command arguments as a list.
- Added included section describing the `LINKER:` (and `SHELL:`) prefix.
- Added link to the module in target_link_options() docs.
2025-05-20 22:12:16 +02:00
Brad King
6aa604ef10 StdIo: Honor NO_COLOR environment variable
This convention is documented by https://bixense.com/clicolors/

Closes: #26458
2025-05-20 11:57:29 -04:00
Brad King
edb80c068b Merge topic 'find-package-event-providers'
3d60b0ba1d configure-log: fill in dependency provider information

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10785
2025-05-20 09:13:36 -04:00
Brad King
7c7460130a Merge topic 'patch-CheckStructHasMember'
c9956e777c CheckStructHasMember: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10798
2025-05-20 09:06:42 -04:00
Brad King
e711538aca Merge topic 'patch-CheckIPOSupported'
294b30b27e CheckIPOSupported: Extend documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10796
2025-05-20 09:00:16 -04:00
David Worley
39677f4cc6 AUTOMOC: Add option to specify moc include directories explicitly
Add a `AUTOMOC_INCLUDE_DIRECTORIES` target property and a corresponding
`CMAKE_AUTOMOC_INCLUDE_DIRECTORIES` variable to initialize it.
This is useful for targets that do not need moc to search include
directories from all dependencies.

Closes: #26414
2025-05-19 21:07:48 -04:00
Peter Kokot
58e8999c28 CheckSymbolExists, CheckCXXSymbolExists: Update documentation
- Added intro code blocks showing how to include these modules.
- Added section titles.
- Used "command" instead of "macro".
- Indented command-related descriptions according to the command
  section indentation level.
- Added the "See Also" sections.
- Synced descriptions between the modules.
2025-05-20 01:23:02 +02:00
Brad King
d27e0eff14 Help: Document when CMAKE_FIND_LIBRARY_{PREFIXES,SUFFIXES} are provided
Issue: #26943
2025-05-19 12:26:27 -04:00
Brad King
b91a376350 Merge topic 'configure-log-find-foo-fixes'
3ac505f79d cmFindCommon: log search path variables
e98381af21 cmFindBase: skip writing `names` and `*_directories` when empty

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10772
2025-05-19 08:31:17 -04:00
Brad King
db4e27eb64 Merge topic 'per-target-license-info'
df3e246bc1 export: Import/export target property for license

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10424
2025-05-19 08:29:12 -04:00
Peter Kokot
c9956e777c CheckStructHasMember: Update documentation
- Added intro code block showing how to include this module.
- Used "command" instead of "macro".
- Reworded descriptions a bit.
- Extended examples section showing how to check struct members in C and
  C++. Added additional example showing how to use
  CMAKE_REQUIRED_DEFINITIONS variable.
2025-05-19 02:39:54 +02:00
Peter Kokot
294b30b27e CheckIPOSupported: Extend documentation
- Added intro code block showing how to include this module.
- Added brief description about IPO and LTO and how it is enabled in
  CMake.
- Used "command" instead of "function".
- Reworded few descriptions.
- Synced indentation for items related to the command section.
- Added "See Also" sections to related target properties and variables.
2025-05-18 23:56:31 +02:00
Brad King
069b244f3d Merge topic 'doc-genex-JOIN'
ad1d9507ba Help: Fix JOIN generator expression syntax example

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10777
2025-05-15 10:27:28 -04:00
Ben Boeckel
3ac505f79d cmFindCommon: log search path variables
No pruning of variables which are not relevant is performed as it would
involve duplication of determining which paths to manage.
2025-05-15 12:24:58 +02:00
Ben Boeckel
3d60b0ba1d configure-log: fill in dependency provider information
This uses the special "path" of `dependency_provider::…` to indicate the
provider in use.
2025-05-14 22:12:46 +02:00
Peter Kokot
7cfc111df3 Help: Update CMAKE_REQUIRED_* variables for checks
This moves indentation of the included RST files to the initial level
and instead indents the include directives where used.

Additionally:
- Instead of ";-list", "semicolon-separated list" is used.
- Instead of mentioning `<resultVar>` argument, a more general
  description is used.
- Few minor tweaks added.
2025-05-14 18:37:05 +02:00
xndcn
ad1d9507ba Help: Fix JOIN generator expression syntax example
Fix syntax of the JOIN generator expression example,
from `$<JOIN,list,glue>` to `$<JOIN:list,glue>`.
2025-05-14 09:31:26 -04:00
Brad King
ef726f2e79 Merge topic 'patch-FindHg'
50769f3f10 FindHg: Sync module documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10770
2025-05-14 08:52:57 -04:00
Daniel Tierney
df3e246bc1 export: Import/export target property for license
Add import/export support and documentation for the SPDX_LICENSE
target property. A target's license can be specified by setting
this property to an SPDX license expression. CMake and CPS-format
export files generated with `export()` or `install()` will
retain the license information. CMake also imports the license
property for imported targets.

Closes: #26706
2025-05-13 17:01:20 -04:00
Brad King
69d4fbf2e2 Merge topic 'patch-FindDoxygen'
d024ddb18a FindDoxygen: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10754
2025-05-13 10:47:18 -04:00
Peter Kokot
50769f3f10 FindHg: Sync module documentation
- Added intro code block with find_package() showing how to find the
  package with this module.
- Used "command" instead of "macro".
- Synced descriptions with other similar find modules.
2025-05-12 23:21:18 +02:00
Peter Kokot
f70f972562 CMakeDependentOption: Sync documentation
- Added intro code block with include() showing how to load this module.
- Used "command" instead of "macro".
- Removed duplicate mention of CMakeDependentOption module in the
  option() documentation.
- Synced captions in examples.
2025-05-12 21:10:29 +02:00
Peter Kokot
d024ddb18a FindDoxygen: Update documentation
- Refactored module docs sections.
- Used Doxygen_FOUND variable. The uppercased DOXYGEN_FOUND is also set
  except it has value of "YES" or "NO".
- Added separate examples section.
- Renamed "Functions" to "Commands".
- Documented doxygen_add_docs() command options as a list for better
  overview, and separated the Doxyfile configuration section as part of
  the command docs.
- Synced module docs with other similar find modules.
2025-05-11 08:38:08 +02:00
Ben Boeckel
8df9819839 find_package: generate find_package-v1 configure log events
Since `find_package` is far more complex than other `find_*` commands,
it gets its own event.

Closes: #24833
2025-05-09 16:46:43 +02:00
Brad King
4d51ad2b0a Merge topic 'install-DIRECTORY-exclude-empty'
b70ef48b27 install(DIRECTORY): Add EXCLUDE_EMPTY_DIRECTORIES option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10683
2025-05-07 09:45:42 -04:00
Brad King
b7a013af51 Merge topic 'patch-GenerateExportHeader'
12ec3270c4 GenerateExportHeader: Extend documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10747
2025-05-07 09:41:39 -04:00
Hao Dong
b70ef48b27 install(DIRECTORY): Add EXCLUDE_EMPTY_DIRECTORIES option
EXCLUDE_EMPTY_DIRECTORIES option excludes empty directories under the
directory to install. A directory is considered not empty if and only if
the directory contains at least one file or one symbolic link or one
none-empty sub-directory.

Closes: #19189
2025-05-06 10:59:24 -04:00