Commit Graph

8717 Commits

Author SHA1 Message Date
Brad King e0a9bbfc23 Merge topic 'target-SKIP_LINTING'
f100769d72 Add `SKIP_LINTING` target property and `CMAKE_SKIP_LINTING` variable
0d6b5d54b2 Tests/RunCMake/MultiLint: Extract test preparation code into separate file
3a21092d75 Tests/RunCMake/MultiLint: Refactor test runs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11139
2025-09-10 09:53:48 -04:00
Alex Turbov f100769d72 Add SKIP_LINTING target property and CMAKE_SKIP_LINTING variable
These offer target-wide settings to disable lints.

Closes: #27191
2025-09-09 09:56:35 -04:00
Brad King f8608b020b Merge branch 'release-4.0' 2025-09-08 15:57:28 -04:00
Brad King edd51d646c CMake 4.0.4 2025-09-08 14:51:44 -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
Brad King 58bde95a0a Merge topic 'instrumentation-rename-hooks'
7c13444fb5 Experimental: Update the Instrumentation UUID
fbb5b47fbf instrumentation: Rename postTest and postInstall hooks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11148
2025-09-05 09:55:05 -04:00
Brad King 032b091c3e Merge topic 'unity-filename-prefix'
5723e65215 Unity: Add a target property to control generated filenames

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11068
2025-09-05 09:18:26 -04:00
Brad King 80e76ff643 Merge topic 'cpack-appimage'
1a6dbcc9ea CPack: Add AppImage generator
9f2949bc68 ci: Add script to install appimagetool in Linux jobs
069f858f42 ci: Add patchelf and appstream to Fedora base image

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10990
2025-09-05 08:58:45 -04:00
Sergiu Deitsch bc1c295b95 CPack: Add support for multiple checksums per package
Closes: #27174
2025-09-05 08:42:17 -04:00
Tyler Yankee 7c13444fb5 Experimental: Update the Instrumentation UUID
Update experimental UUID for instrumentation after commit fbb5b47fbf
(instrumentation: Rename postTest and postInstall hooks, 2025-09-04)
broke old hook names.
2025-09-04 14:01:17 -04:00
Tyler Yankee fbb5b47fbf instrumentation: Rename postTest and postInstall hooks
`postCTest` and `postCMakeInstall` are more closely aligned with the
corresponding snippets which cause cause them to trigger (`ctest` and
`cmakeInstall`, respectively), and as such serve as better indicators of
their true behavior.
2025-09-04 12:39:39 -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 89f4471c4c Merge topic 'fbuild_additional_props'
a8e64742aa FASTBuild: allow disabling of caching / distribution

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11125
2025-09-04 09:19:30 -04:00
Brad King d75c507d0a Merge topic 'instrumentation-trace'
8d04c4d741 Experimental: Update the Instrumentation UUID
bf52fbfbc4 instrumentation: Add Google trace output
b6dcbc4387 Tests/RunCMake/Instrumentation: Improve formatting
27bc7d5782 Tests/RunCMake/Instrumentation: Factor out common JSON logic

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !11124
2025-09-04 09:15:59 -04:00
Daniel Nicoletti 1a6dbcc9ea CPack: Add AppImage generator
This AppImage generator only relies on appimagetool and patchelf.

Closes: #27104
Co-authored-by: Brad King <brad.king@kitware.com>
2025-09-03 18:50:40 -04:00
Tyler Yankee 8d04c4d741 Experimental: Update the Instrumentation UUID
Update experimental UUID for instrumentation after commit bf52fbfbc4
(instrumentation: Add Google trace output, 2025-08-28) introduced a
significant feature.
2025-09-03 15:24:40 -04:00
Tyler Yankee bf52fbfbc4 instrumentation: Add Google trace output
Add a feature to parse snippets into a trace file compatible with the
Google Trace Event Format.

Fixes: #26674
2025-09-03 15:24:10 -04:00
Eduard Voronkin a8e64742aa FASTBuild: allow disabling of caching / distribution
Compilation is complicated. Caching / distribution is even more
complicated. Sometimes there are bugs (in compilers as well as in
FASTBuild), so export the option to disable those features for CMake
targets.
2025-09-03 12:42:55 -04:00
Martin Duffy 903d35353f instrumentation: Update tests and documentation for FASTBuild support
Fixes: #27184
2025-09-03 10:49:51 -04:00
Ben Boeckel cf44806e7c Help/CMAKE_INSTALL_OBJECT_NAME_STRATEGY: add versionadded directive 2025-09-03 10:30:47 -04:00
Brad King c3bdb07a94 Merge topic 'document_find_package_dir_version'
f104bdb3b9 Help: Specify `<PackageName>_DIR` interaction with a version

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11114
2025-09-01 14:37:50 -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
Brad King f156d7fa1f Merge topic 'FindPython-NumPy-target'
0a4a4d2053 FindPython: NumPy target does not depend on Development.Module

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11093
2025-08-27 11:10:59 -04:00
Brad King e804896981 Merge topic 'instrumentation-configure-content'
451e2cb2a1 instrumentation: Add cmake_instrumentation check to ctest_instrumentation test
e6b37105ba instrumentation: Collect custom content from CMake configure

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10988
2025-08-27 11:02:21 -04:00
Eduard Voronkin 01147454e7 FASTBuild: Add generator
Fixes: #15294
2025-08-26 14:29:01 -07:00
Meszaros, Gergely f104bdb3b9 Help: Specify <PackageName>_DIR interaction with a version
Explicitly state that if `<PackageName>_DIR` is set, but the version of
the package found there does not match the requested version, then
`find_package` will ignore that directory and continue searching.
2025-08-26 08:27:15 +00: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
Martin Duffy e6b37105ba instrumentation: Collect custom content from CMake configure
Add a `CUSTOM_CONTENT` argument to `cmake_instrumentation()` for collecting
custom content from configure time.

Snippet files include a reference to a JSON file containing any `CUSTOM_CONTENT`
that was added by this command.

Fixes: #26703
2025-08-21 07:20:12 -04: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