Commit Graph

71459 Commits

Author SHA1 Message Date
Peter Kokot 5f2fdb7cbf FindPNG: Add PNG_VERSION
This deprecates the PNG_VERSION_STRING result variable.

Additionally, the documentation has been adjusted and synced with other
similar find modules:
- Added "Deprecated Variables" section and deprecated versions.
- Added intro code block how to use this module.

Issue: #27088
2025-07-31 21:02:05 +02:00
Peter Kokot dd714b4b99 FindLibXslt: Add LibXslt_VERSION
This deprecates the LIBXSLT_VERSION_STRING result variable.

Issue: #27088
2025-07-31 20:59:21 +02:00
Peter Kokot 1b956832d8 FindLibXml2: Add LibXml2_VERSION
This deprecates the LIBXML2_VERSION_STRING result variable.

Issue: #27088
2025-07-31 20:57:44 +02:00
Peter Kokot 2ce689eae2 FindJasper: Add Jasper_VERSION
This deprecates the JASPER_VERSION_STRING result variable.

Issue: #27088
2025-07-31 20:56:41 +02:00
Peter Kokot 58d61f6846 FindFreetype: Add Freetype_VERSION
This deprecates the FREETYPE_VERSION_STRING result variable.

Issue: #27088
2025-07-31 20:55:15 +02:00
Peter Kokot 1e61580bd3 FindEXPAT: Add EXPAT_VERSION
This deprecates the EXPAT_VERSION_STRING result variable, which was
previously not documented.

Issue: #27088
2025-07-31 20:48:54 +02:00
Brad King 43a86ba605 Merge topic 'patch-FindPostgreSQL-version'
4d4d10e95d FindPostgreSQL: Add PostgreSQL_VERSION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Vito Gamberini <vito.gamberini@kitware.com>
Merge-request: !10987
2025-07-31 11:02:49 -04:00
Brad King 6d265917af Merge topic 'patch-FindALSA-version'
5df1d3f036 FindALSA: Add ALSA_VERSION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Vito Gamberini <vito.gamberini@kitware.com>
Merge-request: !10986
2025-07-31 10:57:05 -04:00
Brad King 30793dda4e Merge topic 'mutable-find-package-stack-alt'
b3873b8272 cmFindPackageStack: Allow controlled mutation
f2bdc2176f cmStack: New, mutable stack class

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10978
2025-07-31 10:54:22 -04:00
Brad King 04abde5ee3 Merge topic 'fix-config-genex'
8ac826a5f2 GenEx: Fix evaluation of $<CONFIG> on imported targets
9b36e49ad9 cmGeneratorExpressionNode: Remove dead code from ConfigurationTestNode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10940
2025-07-31 10:52:56 -04:00
Kitware Robot 0351e13a40 CMake Nightly Date Stamp 2025-07-31 00:04:39 -04:00
Matthew Woehlke 8ac826a5f2 GenEx: Fix evaluation of $<CONFIG> on imported targets
The historic implementation of `$<CONFIG>` had some errors that could
result in multiple configurations matching. First, it always considered
the configuration of the consuming target, even if a consumed imported
target selected a different configuration. Second, it matched the entire
list of `MAP_IMPORTED_CONFIG_<CONFIG>` configurations, even if none of
those were actually selected. The latter in particular is redundant at
best, as we also consider the selected configuration of an imported
target, which is the correct configuration to match for imported
targets. Refactor the implementation so that only one configuration is
considered.

Fixes: #23660
Issue: #27022
2025-07-30 15:12:03 -04:00
Matthew Woehlke 9b36e49ad9 cmGeneratorExpressionNode: Remove dead code from ConfigurationTestNode
Commit 910ada1a88 (Genex: $<CONFIG:> syntax of all entries checked,
2023-01-17) tweaked how ConfigurationTestNode::Evaluate validates its
arguments, which resulted in the removal of the body of an `if` but not
the `if` itself. Since the condition does not have side effects, this
resulted in superfluous leftover code. Remove this.
2025-07-30 15:11:38 -04:00
Brad King 1c3300998f Merge topic 'short-object-names'
8180ecad9b autogen: support the `SHORT` intermediate dir strategy
f97d1bf7d8 Visual Studio: support shortened object filenames
a3a190c006 cmcmd: also forward rsp files in `.o` directories
3f33a5387a Makefiles: support shortened object filenames
b121adaa04 Makefiles: pass the target name to `cmake -E cmake_depends`
851e07fda3 Ninja: support short object directories
050f891d81 Tests: choose an explicit FULL strategy in tests expecting it
cce31527f8 Tests/ObjectLibrary: add shortened path tests
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10833
2025-07-30 11:36:21 -04:00
Matthew Woehlke b3873b8272 cmFindPackageStack: Allow controlled mutation
As mentioned in the previous commit, we would like to record additional
information in the find-package stack, but we don't have the information
at the point a stack entry is created. This necessitates making the
stack mutable. However, in order to restrict mutation, do not directly
expose the mutable value, and instead arrange for it to be accessible
only via cmFindPackageStackRAII (renamed and extracted from cmMakefile).
This ensures that mutation can only happen while the stack is being
built.
2025-07-30 11:01:14 -04:00
Brad King 63670ee246 Merge topic 'deb_uniform_compression'
57eed59f35 CPack/DEB: Use the same compression type for control tar

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10981
2025-07-30 10:31:37 -04:00
Brad King 20350c4d59 Merge topic 'update-vim-syntax'
1cf6005af7 Merge branch 'upstream-vim-cmake-syntax' into update-vim-syntax
84dc53ad61 vim-cmake-syntax 2025-07-28 (3c8cd401)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10979
2025-07-30 10:16:20 -04:00
Brad King 188c2d2476 Merge topic 'export-dependencies-unwind'
92b403fc62 install(EXPORT): Use UNWIND_INCLUDE in exported find_dependency()
bba78d656e FindDependency: Split up macro to allow for no_return variant

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10968
2025-07-30 10:14:47 -04:00
Matthew Woehlke f2bdc2176f cmStack: New, mutable stack class
We would like to record additional information in the find-package
stack, but we don't have the information at the point a stack entry is
created. The most sane way to handle this appears to be making the stack
mutable, at least under specific circumstances. To facilitate this, we
need a mutable stack type.

Refactor cmConstStack into cmStack, with the ability to either allow or
forbid mutation of its data. Re-add cmConstStack as a type alias.

This doesn't yet allow mutating cmFindPackageStack, but it's a necessary
step toward being able to do so.
2025-07-30 10:11:36 -04:00
Brad King 1178d15396 Merge topic 'ci-clazy'
15f788814e ci: Configure clazy job to build with system jsoncpp

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10982
2025-07-30 10:07:26 -04:00
Kitware Robot 66bf4e95c9 CMake Nightly Date Stamp 2025-07-30 00:05:46 -04:00
Peter Kokot 4d4d10e95d FindPostgreSQL: Add PostgreSQL_VERSION
This deprecates the PostgreSQL_VERSION_STRING result variable.

Issue: #27088
2025-07-30 03:02:52 +02:00
Peter Kokot 5df1d3f036 FindALSA: Add ALSA_VERSION
This deprecates the ALSA_VERSION_STRING result variable, which was
previously documented up to CMake 3.11 and then removed from the docs
due to refactorings.

Issue: #27088
2025-07-30 01:10:08 +02:00
Brad King 15f788814e ci: Configure clazy job to build with system jsoncpp
Extend commit bdb9d818d2 (ci: Add lint job to run clazy on our
C++ code, 2025-07-22) to avoid linting third-party jsoncpp code.
2025-07-29 14:56:23 -04:00
kiwixz 57eed59f35 CPack/DEB: Use the same compression type for control tar
Uniform compression is the default since dpkg 1.19.0.
2025-07-29 20:32:48 +02:00
Brad King 60502d75b7 Merge branch 'release-4.1' 2025-07-29 11:13:18 -04:00
Brad King 1cf6005af7 Merge branch 'upstream-vim-cmake-syntax' into update-vim-syntax
* upstream-vim-cmake-syntax:
  vim-cmake-syntax 2025-07-28 (3c8cd401)
2025-07-29 10:43:36 -04:00
vim-cmake-syntax upstream 84dc53ad61 vim-cmake-syntax 2025-07-28 (3c8cd401)
Code extracted from:

    https://github.com/pboettch/vim-cmake-syntax.git

at commit 3c8cd4013fee999e1faa5c6444f946811603aaa3 (master).

Upstream Shortlog
-----------------

Craig Scott (1):
      589a68db Fix typo in dependency provider method keyword

Eisuke Kawashima (1):
      0fe3a3dd fix: add undo_indent

Patrick Boettcher (1):
      08fa8f49 update to cmake version 4.1.20250715-g2c3f83a

cos (9):
      4b296b4b fix update instructions
      6d4dbe64 silence vint linter
      d43f2050 silence perlcritic linter
      2b98e3b3 fix bash shebang for test runner
      396c7afc silence shellcheck + yamllint
      57a7c831 improve test portability
      13d84b42 add syntax folding
      c18bb8ec regenerate for folding
      3c8cd401 typofix

namniav (1):
      6b667c41 Fix syntax highlighting for bracket arguments and comments
2025-07-29 10:25:49 -04:00
Brad King f4effce6a4 CMake 4.1.0-rc4 v4.1.0-rc4 2025-07-29 10:17:43 -04:00
Ben Boeckel 8180ecad9b autogen: support the SHORT intermediate dir strategy 2025-07-29 09:44:03 -04:00
John Parent f97d1bf7d8 Visual Studio: support shortened object filenames 2025-07-29 09:44:03 -04:00
Ben Boeckel a3a190c006 cmcmd: also forward rsp files in .o directories 2025-07-29 09:44:03 -04:00
Brad King 2ea26aff0c Merge topic 'patch-FindBZip2-version'
50f41bdf59 FindBZip2: Add BZip2_VERSION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10975
2025-07-29 09:43:20 -04:00
Brad King e6e5fa0bad Merge branch 'release-4.1' 2025-07-29 09:40:55 -04:00
Brad King 318f90ff5f Merge topic 'revert-install-DIRECTORY-exclude-empty'
21e99dbf49 install(DIRECTORY): Revert "Add EXCLUDE_EMPTY_DIRECTORIES option"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10977
2025-07-29 09:40:54 -04:00
Brad King d9afc6c256 Merge topic 'revert-install-DIRECTORY-exclude-empty' into release-4.1
21e99dbf49 install(DIRECTORY): Revert "Add EXCLUDE_EMPTY_DIRECTORIES option"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10977
2025-07-29 09:40:53 -04:00
John Parent 3f33a5387a Makefiles: support shortened object filenames 2025-07-29 08:28:22 -04:00
Ben Boeckel b121adaa04 Makefiles: pass the target name to cmake -E cmake_depends
When a shortened directory is used, the name of the target is not
accessible just by the path. Pass it explicitly.
2025-07-29 08:06:30 -04:00
John Parent 851e07fda3 Ninja: support short object directories 2025-07-29 08:06:30 -04:00
Ben Boeckel 050f891d81 Tests: choose an explicit FULL strategy in tests expecting it
Since it can be set in the environment when running the test suite,
guard tests which are sensitive to intermediate directory strategy
changes with explicit settings.
2025-07-29 08:06:30 -04:00
John Parent cce31527f8 Tests/ObjectLibrary: add shortened path tests 2025-07-29 08:06:29 -04:00
John Parent 4d58030b92 Tests/UnityBuild: add shortened path tests 2025-07-29 08:06:29 -04:00
John Parent 526a6f2a81 cmGeneratorTarget: shorten PCH filenames 2025-07-29 08:06:29 -04:00
John Parent 1feb801463 cmLocalGenerator: support shortening object filenames 2025-07-29 08:06:29 -04:00
John Parent 76f01de30e cmLocalGenerator: add a GetRelativeSourceFileName method
This will be used for short object path support.
2025-07-29 08:06:29 -04:00
John Parent 324907a60b cmGlobalGenerator: add methods for use when implementing short dir support 2025-07-29 08:06:28 -04:00
Kitware Robot d3e34186f6 CMake Nightly Date Stamp 2025-07-29 00:05:00 -04:00
Brad King 21e99dbf49 install(DIRECTORY): Revert "Add EXCLUDE_EMPTY_DIRECTORIES option"
Revert commit b70ef48b27 (install(DIRECTORY): Add
EXCLUDE_EMPTY_DIRECTORIES option, 2025-04-20, v4.1.0-rc1~212^2).
The implementation had at least two problems:

* It did not exclude the top-level directory if empty.
* It did not exclude non-empty directories whose contents are
  all filtered out.

Revert the feature pending a revised implementation.

Issue: #19189
Closes: #27092
2025-07-28 14:21:09 -04:00
John Parent e1041bd270 cmLocalCommonGenerator: factor out "long" directory calculation 2025-07-28 12:01:28 -04:00
Ben Boeckel c4bf198aed cmGeneratorTarget: add a query for whether to use short object names 2025-07-28 12:01:28 -04:00