Commit Graph

8596 Commits

Author SHA1 Message Date
Brad King
d219994cf0 Merge topic 'patch-FindSDL-version'
faca50bd3f FindSDL*: Add <PackageName>_VERSION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11004
2025-08-04 10:27:44 -04:00
Brad King
8500539328 Merge topic 'find-var-doc-clarification'
cba75e669a find_xxx: Clarify command description

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10996
2025-08-04 10:14:20 -04:00
Peter Kokot
faca50bd3f FindSDL*: Add <PackageName>_VERSION
This adds the `<PackageName>_VERSION` result variables and deprecates
the `<PackageName>_VERSION_STRING` result variables for the following
modules:

* FindSDL_gfx
* FindSDL_image
* FindSDL_mixer
* FindSDL_net
* FindSDL_sound
* FindSDL_ttf

Issue: #27088
2025-08-02 03:54:18 +02:00
Vito Gamberini
cba75e669a find_xxx: Clarify command description
Also cleans up a missing infinitive in find_file

Fixes: #25844
2025-08-01 11:33:13 -04:00
Brad King
a4ef872a24 Merge topic 'doc-package-presets-no-effect-keywords'
60a921dce4 Help: Note that some packaging preset keywords don't work as expected

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10997
2025-08-01 11:22:14 -04:00
Brad King
04dee97487 Merge topic 'patch-find-modules-versions'
7e6634ef67 FindLTTngUST: Add LTTngUST_VERSION
5f2fdb7cbf FindPNG: Add PNG_VERSION
dd714b4b99 FindLibXslt: Add LibXslt_VERSION
1b956832d8 FindLibXml2: Add LibXml2_VERSION
2ce689eae2 FindJasper: Add Jasper_VERSION
58d61f6846 FindFreetype: Add Freetype_VERSION
1e61580bd3 FindEXPAT: Add EXPAT_VERSION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Vito Gamberini <vito.gamberini@kitware.com>
Merge-request: !10994
2025-08-01 11:20:10 -04:00
Brad King
d1be722330 Merge topic 'issue-24923-new-cli-tools'
8797912e4d cmake -E: Add copy_if_newer and copy_directory_if_newer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10957
2025-08-01 11:13:56 -04:00
Craig Scott
60a921dce4 Help: Note that some packaging preset keywords don't work as expected
Due to how the default value of the CPACK_PACKAGE_FILE_NAME variable
is implemented, the packageName and packageVersion fields of packaging
presets don't affect the final package file name. They can still affect other
aspects of the package produced, depending on the package generator
used, leading to inconsistencies in the generated package. There is no
warning or error about this when producing the packages, and fixing the
implementation is non-trivial. Until such a fix can be made, add a note to
the docs to make users aware of this unexpected behavior.

Issue: #25248
2025-08-01 16:50:20 +10:00
Peter Kokot
7e6634ef67 FindLTTngUST: Add LTTngUST_VERSION
This deprecates the LTTNGUST_VERSION_STRING result variable.

Issue: #27088
2025-07-31 21:02:26 +02:00
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
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
Benjamin Buch
8797912e4d cmake -E: Add copy_if_newer and copy_directory_if_newer
Fixes: #24923
2025-07-31 10:55:59 +02: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
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
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
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
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
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
John Parent
3f33a5387a Makefiles: support shortened object filenames 2025-07-29 08:28:22 -04:00
John Parent
851e07fda3 Ninja: support short object directories 2025-07-29 08:06:30 -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
Ben Boeckel
02b2153d84 cmGlobalGenerator: add a query to represent support for short object names 2025-07-28 12:01:28 -04:00
John Parent
392543384f cmake: support setting the intermediate dir strategy from the environment 2025-07-28 12:01:28 -04:00
Brad King
211e652731 Merge topic 'doc-add_test-old'
b3f2455862 Help: The old add_test() form does not support TEST_LAUNCHER

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10970
2025-07-28 11:06:24 -04:00
Ralf Habacker
b3f2455862 Help: The old add_test() form does not support TEST_LAUNCHER
Extend commit 1ec0372ed4 (add_test: Optionally use a launcher for tests
running in-project targets, 2023-11-11, v3.29.0-rc1~237^2~1).

Fixes: #27083
2025-07-28 08:20:00 +02:00
Peter Kokot
50f41bdf59 FindBZip2: Add BZip2_VERSION
This deprecates the BZIP2_VERSION result variable.

Issue: #27088
2025-07-27 04:54:27 +02:00
Craig Scott
aa63990ca9 file API: Add JSON schema files
Fixes: #26987
2025-07-26 18:51:27 +10:00
Brad King
6101c162d8 Merge topic 'doc-renesas-relnote'
d95135b9cd Help: Add 4.1 release note for Renesas compiler support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10967
2025-07-24 11:25:51 -04:00
Hirofumi Nakamura
d95135b9cd Help: Add 4.1 release note for Renesas compiler support
This was missed in commit 514135f563 (Renesas: Add support for Renesas
compilers, 2025-04-14, v4.1.0-rc1~89^2).

Issue: #26880
2025-07-24 10:33:52 -04:00
Brad King
558b3922c3 Merge topic 'ExternalProject-env-vars'
e301cbffcc ExternalProject: Set environment variables
ff21c3f78a Help: ENVIRONMENT_MODIFICATION: split modification ops

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !10842
2025-07-23 12:08:36 -04:00
Brad King
671b52fc5d Merge topic 'pchreuse-refactor'
11ee18b758 ci: extend msvc_v71_nmake `RunCMake.PrecompileHeaders` test timeout
1c91fadbe8 Tests/RunCMake/PrecompileHeaders: support extended timeout
42f2867b3b pchreuse: defer dependency addition until generation time
f9bc615d9a pchreuse: ban PCH reuse from targets which disable PCH
f78f592b78 pchreuse: defer target existence enforcement to generation time
3ef773490d pchreuse: defer PCH consistency checks to generation time
1d701491a2 pchreuse: always ask the PCH reuse target for PDB information
6e7da8aa95 cmGeneratorTarget: factor out reuse target computation
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: alcroito <alexandru.croitor@qt.io>
Acked-by: Vincent X <gulackeg@gmail.com>
Merge-request: !10887
2025-07-23 12:07:07 -04:00
Brad King
dbd12c8bff Merge topic 'instrumentation-windows'
f7756853c5 instrumentation: Exclude (pre|post)Build hooks with MSYS Makefiles
455944508e instrumentation: Remove ninja-specific references
7dbe092d77 instrumentation: Support preBuild and postBuild hooks on Windows
6d6c8303f9 Tests: Teach RunCMake.Instrumentation to tolerate make tool output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10932
2025-07-23 12:03:11 -04:00
Ben Boeckel
1d701491a2 pchreuse: always ask the PCH reuse target for PDB information
The property settings set things up once, but nothing ensures that
post-reuse hookup that any property changes propagate. Instead, when
computing PDB information, if PCH reuse is enabled, just always use its
values.

Also drop enforcement at generate time of property value consistency as
it is now ignored when PCH reuse is in effect.

Additionally, if a target is PCH-reused, generate a PDB output directory
for it.

The `PchReuseFromIgnoreOwnProps` test failed previously because the
post-reuse link update of the consuming `PDB` properties are no longer
considered. The `PchReuseFromUseUpdatedProps` failed because the
post-reuse link did not update the copy of the properties added to
consuming reuse target properties.
2025-07-22 12:42:57 -04:00
Brad King
f2727c6e05 Merge topic 'ninja-per-source-job-pool'
3a9d56d2c7 Ninja: Add support for per-source JOB_POOL_COMPILE property
44bf494fe6 Help: Global SPLIT_JOBS: reformat usages into a list.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10936
2025-07-22 12:07:38 -04:00
Brad King
5c59490b09 Merge topic 'doc-listfile-term'
51f838f8a8 Help: Add `listfile` definition to man pages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10960
2025-07-22 11:59:33 -04:00
Tyler Yankee
f7756853c5 instrumentation: Exclude (pre|post)Build hooks with MSYS Makefiles
The implementation of (pre|post)Build hooks rely on a direct parent-
child relationship between the build system process and `ctest
--start-instrumentation`. MSYS2's `make.exe` uses the msys-runtime POSIX
compatibility layer which disrupts this relationship.
2025-07-22 11:06:41 -04:00
Tyler Yankee
7dbe092d77 instrumentation: Support preBuild and postBuild hooks on Windows
* Use `uv_disable_stdio_inheritance` to resolve the deadlock between the
parent build system process and `ctest
--wait-and-collect-instrumentation` on Windows.
* Remove Windows gating from preBuild and postBuild indexing and update
tests and documentation accordingly.

Fixes: #26668
2025-07-22 10:51:03 -04:00
Andrew Howe
51f838f8a8 Help: Add listfile definition to man pages
The term `listfile` was previously used without a definition in the man
pages, e.g., `CMAKE_CURRENT_LIST_FILE` in `cmake-variables(7)`.

Closes: #18512
2025-07-21 12:19:26 -04:00
Peter Kokot
0622cb343e AIX: Drop unnecessary -l from CMAKE_DL_LIBS
The `-lld` linker flag was added from the previous command-line script
that have all values in `CMAKE_DL_LIBS` prepended with `-l`.

On AIX, the `dlopen()` is otherwise in C library (default). But it seems
that also `libld` library was once needed on some versions to have
dynamic loading working.

Sync `CMAKE_DL_LIBS` value style with all other current usages.
2025-07-21 11:34:03 -04:00
Brad King
816e235609 Merge topic 'patch-TestBigEndian'
59da6d9e5c TestBigEndian, CMAKE_<LANG>_BYTE_ORDER: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10950
2025-07-21 10:24:09 -04:00
Brad King
88e66a8fc7 Merge topic 'patch-CMAKE_DL_LIBS'
934567de19 CMAKE_DL_LIBS: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10953
2025-07-21 10:19:33 -04:00