Commit Graph

3898 Commits

Author SHA1 Message Date
Ben Boeckel 9ef99353cb prop_sf/OBJECT_NAME: support custom object names
Projects which ship object files as artifacts may want to control the
object names as much as possible. Support setting explicit object names
as source file properties to support such use cases.
2025-09-09 09:58:07 -04:00
Brad King a3a3416bc1 Merge topic 'install-object-only-destination'
c1de3c72a3 install: support using `DESTINATION` as-is for object installation
cf44806e7c Help/CMAKE_INSTALL_OBJECT_NAME_STRATEGY: add `versionadded` directive

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11138
2025-09-08 11:32:05 -04:00
Brad King bf1841534c Merge topic 'cpack-several-checksums'
bc1c295b95 CPack: Add support for multiple checksums per package

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11141
2025-09-08 11:29:34 -04:00
Ben Boeckel c1de3c72a3 install: support using DESTINATION as-is for object installation
CMake historically has forced an `objects[-<CONFIG>]/<TARGET_NAME>`
subdirectory under an `OBJECT` library installation's `OBJECTS
DESTINATION` which may be unwanted. Support skipping this component
with a target property.
2025-09-06 00:44:42 -04:00
Sergiu Deitsch bc1c295b95 CPack: Add support for multiple checksums per package
Closes: #27174
2025-09-05 08:42:17 -04:00
Stephen Kennedy 5723e65215 Unity: Add a target property to control generated filenames
If not set default to `unity_` as before.

Closes: #26927
2025-09-04 09:31:01 -04:00
Brad King d65cd65df5 Merge topic 'patch-find-modules-versions'
f0b4c19052 FindIcotool: Add Icotool_VERSION
f503c8dad4 FindHSPELL: Add HSPELL_VERSION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11098
2025-09-01 14:36:24 -04:00
Brad King 230c5c7d46 Merge topic 'patch-FindOpenCL-version'
870fd818a3 FindOpenCL: Add OpenCL_VERSION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11108
2025-09-01 14:31:02 -04:00
Brad King bf46c263f8 Merge branch 'release-4.1' 2025-08-27 13:32:32 -04:00
Brad King ba8c4a15f1 CMake 4.1.1 2025-08-27 12:33:28 -04:00
Brad King 985bbf724a Merge topic 'fbuild'
94113ac687 ci: Add jobs for FASTBuild generator on Linux, macOS, and Windows
01147454e7 FASTBuild: Add generator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Osyotr <zhenchik35026@gmail.com>
Acked-by: Peter Kokot <peterkokot@gmail.com>
Merge-request: !10941
2025-08-27 11:43:37 -04:00
Brad King 2981a064f4 Merge topic 'patch-FindwxWidgets-wxWidgets_USE_FILE'
4f9a8c8aa1 FindwxWidgets: Deprecate wxWidgets_USE_FILE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11110
2025-08-27 11:36:21 -04:00
Brad King 4af2db6ad9 Merge topic 'patch-FindQt3-version'
34a4b39cf3 FindQt3: Add Qt3_VERSION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11107
2025-08-27 11:35:02 -04:00
Brad King 7f431ff6b4 Merge topic 'patch-FindTclsh-version'
f9fec08e69 FindTclsh: Add Tclsh_VERSION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11103
2025-08-27 11:29:31 -04:00
Brad King 7212282f02 Merge topic 'patch-FindPkgConfig-found-var'
9e3d2cd94f FindPkgConfig: Deprecate PKG_CONFIG_FOUND

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11099
2025-08-27 11:16:46 -04:00
Eduard Voronkin 01147454e7 FASTBuild: Add generator
Fixes: #15294
2025-08-26 14:29:01 -07:00
Peter Kokot 870fd818a3 FindOpenCL: Add OpenCL_VERSION
- This deprecates the OPENCL_VERSION_STRING result variable.
- Documentation adjusted.
- Support for OpenCL 3.0 was added in CMake 3.24.
- Added CL_TARGET_OPENCL_VERSION compile definition to test so that
  program compiles without warnings.
- Additionally, on Apple systems compiler can't find <Headers/cl.h>
  unless direct path would be passed as a header. Instead, <OpenCL/cl.h>
  is used for version check conditionally.

Issue: #27088
2025-08-25 22:16:51 +02:00
Marc Chevrier 0a4a4d2053 FindPython: NumPy target does not depend on Development.Module
Fixes: #27123
2025-08-25 15:28:41 +02:00
Brad King 46fc0232ae Merge topic 'fix-get-mapped-config'
05ae95c864 cmTarget: Overhaul GetMappedConfig

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10995
2025-08-25 09:16:53 -04:00
Peter Kokot 4f9a8c8aa1 FindwxWidgets: Deprecate wxWidgets_USE_FILE
This variable in current CMake versions doesn't seem to be needed in any
case. Either if the UsewxWidgets is created in the project's own
CMAKE_MODULE_PATH location, or if FindwxWidgets is "forked" into project
own modules, include(UsewxWidgets) always includes the wanted file.
2025-08-25 01:52:40 +02:00
Peter Kokot 34a4b39cf3 FindQt3: Add Qt3_VERSION
This deprecates the QT_VERSION_STRING result variable.

The QT_VERSION_STRING was probably meant to be set also by FindQt4
module (for the deprecated FindQt) but at the time of writing isn't
implemented therefore replaced in the test.

Issue: #27088
2025-08-24 10:59:32 +02:00
Peter Kokot f9fec08e69 FindTclsh: Add Tclsh_VERSION
This deprecates the TCLSH_VERSION_STRING result variable.

Issue: #27088
2025-08-22 23:10:09 +02:00
Peter Kokot 9e3d2cd94f FindPkgConfig: Deprecate PKG_CONFIG_FOUND
Since most of the find modules use the `<PackageName>_FOUND` result
variables, this now also syncs it for the FindPkgConfig module. The
`PkgConfig_FOUND` result variable is available since CMake 3.3 and
contains the same value. There is also `PKGCONFIG_FOUND` result variable
automatically set with the same value but for simplicity isn't
documented. The uppercased `<PACKAGENAME>_FOUND` result variables set by
find modules are also considered legacy variables.
2025-08-21 01:01:33 +02:00
Peter Kokot f0b4c19052 FindIcotool: Add Icotool_VERSION
This deprecates the ICOTOOL_VERSION_STRING result variable.

Issue: #27088
2025-08-20 23:32:53 +02:00
Peter Kokot f503c8dad4 FindHSPELL: Add HSPELL_VERSION
This deprecates the HSPELL_VERSION_STRING result variable.

Additionally, fixed typos:
* HSPELL_VERSION_MAJOR
* HSPELL_VERSION_MINOR

Issue: #27088
2025-08-20 23:31:41 +02:00
Matthew Woehlke 05ae95c864 cmTarget: Overhaul GetMappedConfig
Create a brand new implementation of `cmTarget::GetMappedConfig` which
prioritized a target's `IMPORTED_CONFIGURATIONS` as the 'source of
truth' for what configurations are available. In particular, this means
that configuration selection when `IMPORTED_CONFIGURATIONS` is set does
not depend on the library type in any manner. The fallback logic also
uses a more consistent 'usability' criteria that should result in more
consistent configuration selection, particularly for `INTERFACE`
targets.

The previous implementation is retained as a separate method for users
requesting the OLD behavior.

Fixes: #27022
2025-08-20 14:44:05 -04:00
Brad King 7d7b91717c Merge topic 'patch-FindPkgConfig-version'
13366e3045 FindPkgConfig: Add PkgConfig_VERSION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11089
2025-08-20 10:10:34 -04:00
Brad King 4dfc6d200b Merge topic 'patch-FindwxWidgets-version'
559500bede FindwxWidgets: Add wxWidgets_VERSION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11088
2025-08-20 10:06:12 -04:00
Brad King 2ec20fc2f8 Merge topic 'patch-FindHg-version'
e463cf3283 FindHg: Add Hg_VERSION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11083
2025-08-18 10:20:21 -04:00
Brad King 9062fc9c16 Merge topic 'install-object-name-strategy'
c651b0e002 objects: implement installation naming strategies
29c7f19280 cmTarget: add the `INSTALL_OBJECT_NAME_STRATEGY` property
757c40c478 cmObjectLocation: add a class to track object locations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11046
2025-08-18 09:45:19 -04:00
Craig Scott 333d28cd13 Merge topic 'doc-origin-autogen-xref-text'
6592d66030 Help: Prevent section headings being used for <ORIGIN>_autogen xrefs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11085
2025-08-18 08:30:37 -04:00
Peter Kokot 13366e3045 FindPkgConfig: Add PkgConfig_VERSION
This deprecates the PKG_CONFIG_VERSION_STRING result variable.

Issue: #27088
2025-08-17 07:31:44 +02:00
Peter Kokot 559500bede FindwxWidgets: Add wxWidgets_VERSION
This deprecates the wxWidgets_VERSION_STRING result variable.

Issue: #27088
2025-08-17 07:17:12 +02:00
Brad King 0aec7864f6 Merge topic 'patch-FindSubversion-version'
051b670e51 FindSubversion: Add Subversion_VERSION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11053
2025-08-15 09:30:14 -04:00
Brad King 63d88db7ac Merge topic 'patch-FindLua-version'
138fd2c665 FindLua*: Add Lua_VERSION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11052
2025-08-15 09:21:43 -04:00
Craig Scott 6592d66030 Help: Prevent section headings being used for <ORIGIN>_autogen xrefs
The references to the <ORIGIN>_autogen and
<ORIGIN>_autogen_timestamp_deps anchors were being replaced by the
section heading text that immediately followed the anchors. But in most
cases, the text where the cross-referencing was placed was expecting the
anchor text to be used instead. Add custom text for such cross-references
so that the text reads as originally intended.
2025-08-15 19:02:16 +10:00
Peter Kokot e463cf3283 FindHg: Add Hg_VERSION
This deprecates the HG_VERSION_STRING result variable.

Issue: #27088
2025-08-15 05:34:56 +02:00
Brad King 5a09f5bd8e Merge topic 'patch-FindDevIL-version'
0e00166462 FindDevIL: Add DevIL_VERSION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11072
2025-08-14 09:06:41 -04:00
Brad King b30241272b Merge topic 'patch-FindPerl-version'
4f1732d96b FindPerl, FindPerlLibs: Add Perl_VERSION and PerlLibs_VERSION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11054
2025-08-14 08:27:25 -04:00
Brad King 6065c2d845 Merge topic 'patch-FindGnuTLS-version'
2f8b837a30 FindGnuTLS: Add GnuTLS_VERSION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11061
2025-08-14 08:25:25 -04:00
Peter Kokot 138fd2c665 FindLua*: Add Lua_VERSION
New result variables in FindLua:

* Lua_VERSION
* Lua_VERSION_MAJOR
* Lua_VERSION_MINOR
* Lua_VERSION_PATCH

Deprecated variables in FindLua:

* LUA_VERSION_STRING
* LUA_VERSION_MAJOR
* LUA_VERSION_MINOR
* LUA_VERSION_PATCH

Deprecated variables in FindLua51:

* LUA_VERSION_STRING

Issue: #27088
2025-08-14 07:37:26 +02:00
Peter Kokot 051b670e51 FindSubversion: Add Subversion_VERSION
This deprecates the Subversion_VERSION_SVN result variable.

Issue: #27088
2025-08-14 07:25:00 +02:00
Brad King 9896691033 Merge topic 'patch-AddFileDependencies'
d0a8c0bf1b AddFileDependencies, MacroAddFileDependencies: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11064
2025-08-13 15:44:12 -04:00
Brad King 7a47c13d07 Merge topic 'patch-FindPkgConfig'
ac56813d35 FindPkgConfig: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11060
2025-08-13 15:40:42 -04:00
Peter Kokot 0e00166462 FindDevIL: Add DevIL_VERSION
This module now provides a DevIL_VERSION result variable and supports
the `<version>` argument in the find_package() call. Version range can
be also specified.

Fixes: #26858
2025-08-12 07:17:58 +02:00
Peter Kokot d0a8c0bf1b AddFileDependencies, MacroAddFileDependencies: Update documentation
- Extended the deprecation notice.
- Synced modules descriptions with other similar modules.
- Added info about the MacroAddFileDependencies deprecation in the
  3.14 release notes.
2025-08-11 02:51:20 +02:00
Peter Kokot 2f8b837a30 FindGnuTLS: Add GnuTLS_VERSION
This deprecates the GNUTLS_VERSION result variable.

Instead of setting the version from pkg-config, the header files can be
used. GnuTLS versions 2.7.2 and later define the GNUTLS_VERSION in
`<gnutls/gnutls.h>` header. Earlier versions defined LIBGNUTLS_VERSION.
If finding such string in header is not successful, fallback to version
from pkg-config is used.

Issue: #27088
2025-08-10 09:39:44 +02:00
Peter Kokot ac56813d35 FindPkgConfig: Update documentation
- Synced module documentation with other find modules.
- Added intro code block showing how to use this module.
- Added separate examples section with more examples.
- Moved all documentation to the top header comment to make it easier
  to manage and adjust.
- Documented commands arguments as a list.
- Removed internal comment defining "Local variables" for some editors
  (other files don't have these defined).
- Changed variable references definitions to a normal list, as these
  don't seem to be needed to be referenced in other documentation files
  and to be more synced with other find modules. In case some special
  environment variable, should be referenced, it can be added in the
  future to the variables section directly and to be foundable on the
  variables index list.
- Briefly described also PKG_CONFIG_PATH and PKG_CONFIG environment
  variables, as they are already mentioned in the descriptions.
- Added "See Also" section.
2025-08-10 07:57:11 +02:00
Peter Kokot ea298035ba FindPackageHandleStandardArgs: Update documentation
- Used "commands" instead of "functions".
- Added separate examples section.
- Moved FOUND_VAR argument to the bottom as it is deprecated.
- Reworded descriptions.
2025-08-08 23:49:59 +02:00
Peter Kokot 4f1732d96b FindPerl, FindPerlLibs: Add Perl_VERSION and PerlLibs_VERSION
This deprecates the PERL_VERSION_STRING result variable.

Issue: #27088
2025-08-08 22:22:03 +02:00