Commit Graph

3024 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
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
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
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
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
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
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
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
Brad King
8ae56a88bf Merge topic 'patch-FindSquish-version'
ca52983884 FindSquish: Add Squish_VERSION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11041
2025-08-08 09:26:22 -04:00
Brad King
c00d931e13 Merge topic 'patch-FindOpenSceneGraph-version'
30dddb4b11 FindOpenSceneGraph: Add OpenSceneGraph_VERSION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11040
2025-08-08 09:22:28 -04:00
Ben Boeckel
29c7f19280 cmTarget: add the INSTALL_OBJECT_NAME_STRATEGY property 2025-08-07 11:24:32 -04:00
Peter Kokot
ca52983884 FindSquish: Add Squish_VERSION
This deprecates the following result variables:

* SQUISH_VERSION
* SQUISH_VERSION_MAJOR
* SQUISH_VERSION_MINOR
* SQUISH_VERSION_PATCH

Issue: #27088
2025-08-06 23:53:37 +02:00
Peter Kokot
30dddb4b11 FindOpenSceneGraph: Add OpenSceneGraph_VERSION
This deprecates the OPENSCENEGRAPH_VERSION result variable.

Issue: #27088
2025-08-06 23:52:10 +02:00
Peter Kokot
4786a6f34a FindGnuplot: Add Gnuplot_VERSION
This deprecates the GNUPLOT_VERSION_STRING result variable.

Issue: #27088
2025-08-06 23:51:23 +02:00
Brad King
2e3dde3727 Merge topic 'Set-CACHE-variable'
8af64914d6 set/unset commands: add CACHE{variable} syntax support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11016
2025-08-06 10:08:56 -04:00
Brad King
0e48bf825d Merge topic 'patch-FindTIFF-version'
8076414d2d FindTIFF: Add TIFF_VERSION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11021
2025-08-06 09:48:09 -04:00
Brad King
ddb014d0aa Merge topic 'patch-FindOpenSSL-version'
5503235b4d FindOpenSSL: Add OpenSSL_VERSION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11020
2025-08-06 09:45:48 -04:00
Brad King
142ae708fb Merge topic 'patch-FindGettext-version'
6903ba415f FindGettext: Add Gettext_VERSION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11019
2025-08-06 09:43:36 -04:00