Brad King
47689e9253
Merge topic 'policy-version-var' into release-4.0
...
1a35351125
Add CMAKE_POLICY_VERSION_MINIMUM to help configure outdated projects
d723198539
Help: De-duplicate policy version documentation
e5d29e9e00
Help: Drop cmake_minimum_required pre-2.4 behavior
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10343
2025-02-14 09:32:33 -05:00
Brad King
cb2552fc21
Merge topic 'fix_autogen_dependencies' into release-4.0
...
2b314e9009
Autogen: Fix missing autogen dependencies if a target is linked twice
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10344
2025-02-14 09:27:58 -05:00
Brad King
18d11a6cdc
Merge topic 'FindPython-ARTIFACTS_PREFIX' into release-4.0
...
e9770a315d
FindPython: Support for multiple searches in same directory
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10340
2025-02-14 09:23:40 -05:00
Brad King
95a0a16229
Merge topic 'doc-src-var-xref' into release-4.0
...
8905157694
Help: Link CMAKE_CURRENT_LIST_(DIR|FILE|LINE) to/from FUNCTION-equivalents
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10338
2025-02-14 09:19:58 -05:00
Brad King
80ec307900
curl: Set build options the way we need for CMake
...
Set options added by the update to curl 8.12.1.
In particular, now that upstream curl's CMake code depends on
OpenSSL via imported targets from FindOpenSSL, we can let it
handle the transitive dependency on posix threads.
2025-02-14 08:57:11 -05:00
Alexandru Croitor
2b314e9009
Autogen: Fix missing autogen dependencies if a target is linked twice
...
Autogen contains code to forward dependencies from an origin target
to its associated <origin>_autogen target. This code also contains a
check to skip forwarding a dependency if it does not appear in the
dependency graph for all configured build types.
This is done by counting the number of times a dependency appears in
the graph for each configured build type.
Unfortunately the code did not account for the case when a dependency
appears more than once in the link graph for a single build type. This
means that for a single-config build, if the same dependency is linked
twice, the dependency will be skipped altogether.
This can lead to build errors in a project where a hypothetical App
target depends on a Lib target, and thus expects App_autogen to depend
on Lib_autogen and any of its dependencies, but the latter is skipped.
Fix this by incrementing the count of a target in the dependency graph
only once per build type.
Fixes : #26700
2025-02-13 14:33:41 -05:00
Brad King
1a35351125
Add CMAKE_POLICY_VERSION_MINIMUM to help configure outdated projects
...
Provide packagers and end users with a way to try configuring projects that
have not been updated to set their policy version to a supported level.
Closes : #26698
2025-02-13 14:00:26 -05:00
Brad King
d723198539
Help: De-duplicate policy version documentation
2025-02-13 12:36:54 -05:00
Brad King
e5d29e9e00
Help: Drop cmake_minimum_required pre-2.4 behavior
...
The long outdated pre-2.4 compatibility behavior is no longer relevant
since CMake 4.0 dropped support for pre-3.5 compatibility.
2025-02-13 12:22:21 -05:00
Brad King
ba77812035
Merge branch 'upstream-curl' into update-curl
...
* upstream-curl:
curl 2025-02-13 (57495c64)
2025-02-13 11:17:59 -05:00
Curl Upstream
1865f86e28
curl 2025-02-13 (57495c64)
...
Code extracted from:
https://github.com/curl/curl.git
at commit 57495c64871d18905a0941db9196ef90bafe9a29 (curl-8_12_1).
2025-02-13 10:26:56 -05:00
Brad King
302d842f6e
curl: Update script to get curl 8.12.1
2025-02-13 10:26:39 -05:00
Alex Neundorf
8905157694
Help: Link CMAKE_CURRENT_LIST_(DIR|FILE|LINE) to/from FUNCTION-equivalents
2025-02-13 09:46:20 -05:00
Marc Chevrier
e9770a315d
FindPython: Support for multiple searches in same directory
...
This is a complement to commit 9b0510fa57
(FindPython: add support for
multiple searches in same directory, 2025-01-05).
2025-02-13 09:36:43 -05:00
Brad King
3f2386db2b
Merge topic 'find-cps-version' into release-4.0
...
3e6466eb16
find_package: Honor version requests when finding CPS packages
7a0e698384
find_package: Fix CPS version parsing
35a7ed125b
find_package: Fix reporting of rejected CPS files' version
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10297
2025-02-13 09:33:04 -05:00
Brad King
f45c1384cb
Merge topic 'doc-header-only' into release-4.0
...
2d5f2c9311
Help: Make cmake-buildsystem(7) header-only examples consistent
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10333
2025-02-13 09:30:55 -05:00
Brad King
3ba4ca5963
Merge branch 'release-3.31' into release-4.0
2025-02-13 09:29:00 -05:00
Brad King
10da186af0
Merge topic 'ci-msvc-14.43' into release-4.0
...
8353a88661
ci: Update Windows builds to MSVC 14.43 toolset
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10336
2025-02-13 09:28:30 -05:00
Brad King
c3735f37da
Merge topic 'ci-msvc-14.43' into release-3.31
...
8353a88661
ci: Update Windows builds to MSVC 14.43 toolset
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10336
2025-02-13 09:27:24 -05:00
Matthew Woehlke
3e6466eb16
find_package: Honor version requests when finding CPS packages
...
Teach find_package to check a CPS package's version (when provided)
against a version request given to the find_package invocation.
2025-02-12 11:36:41 -05:00
Matthew Woehlke
7a0e698384
find_package: Fix CPS version parsing
...
Update cmPackageInfoReader's version parsing to more fully conform to
the specification and to reject non-conforming version strings. Start
adding framework to support version schemas other than "simple". Fix how
cmFindPackageCommand extracts version parts to not fail if more than
four parts are present.
2025-02-12 11:35:54 -05:00
Brad King
8353a88661
ci: Update Windows builds to MSVC 14.43 toolset
2025-02-12 11:05:51 -05:00
Brad King
1d274d34b9
Merge topic 'instrumentation-build-snippet' into release-4.0
...
c8e319d08c
instrumentation: Add experimental notes to docs
f777af7734
instrumentation: Update docs for available snippets
2299b2fcab
instrumentation: Add build snippet
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10328
2025-02-12 09:43:17 -05:00
Brad King
8e38ea12ec
Merge topic 'cps-fix-config-import' into release-4.0
...
0ba5343b66
cmPackageInfoReader: Fix configuration-specific importing
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10330
2025-02-12 09:33:54 -05:00
Brad King
4977e98594
Merge topic 'cps-fix-extra-schema' into release-4.0
...
83b22da7ac
cmPackageInfoReader: Inherit cps_version
caff0d62c6
cmFindPackageCommand: Simplify cmStrCat
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10329
2025-02-12 09:32:37 -05:00
Brad King
33b3fb0876
Merge topic 'help-find-library' into release-4.0
...
4b7ed0ec79
Help: Clarify find_library() behavior for suffixed libraries
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10322
2025-02-12 09:30:30 -05:00
Brad King
ae103956b0
Merge topic 'doc-target_link_libraries' into release-4.0
...
1d07da0912
Help: Clarify context of target_link_libraries pre-4.0 behavior documentation
b7dc28cb8c
Help: Drop target_link_libraries redundant prose on debug/optimized keywords
b4bac3018f
Help: Drop target_link_libraries mention of CMP0003 and CMP0004
639eee1a0c
Help: Call out target_link_libraries legacy signatures earlier
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Yegor Yefremov <yegorslists@googlemail.com>
Merge-request: !10326
2025-02-12 09:28:50 -05:00
Brad King
6571bf0be5
Merge topic 'update-kwsys' into release-4.0
...
9afe813781
Merge branch 'upstream-KWSys' into update-kwsys
7cd4048b3a
KWSys 2025-02-12 (49c09912)
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10327
2025-02-12 09:27:37 -05:00
Brad King
e14b86b7ff
Merge topic 'findbase_dont_erase_outofbounds_entry' into release-4.0
...
f5837f0ac9
cmFindBase: Don't pass vector::erase an out of bounds iterator
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10331
2025-02-12 09:23:37 -05:00
Patrik Huber
2d5f2c9311
Help: Make cmake-buildsystem(7) header-only examples consistent
...
Extend commit 93696d0f2e
(Help: Restore cmake-buildsystem(7) header-only
library example, 2023-01-13, v3.25.2~3^2) to cover a second part of the
example from commit 4b25a0d512
(Help/manual: Update header-only library
example, 2022-04-22, v3.24.0-rc1~220^2).
Issue: #24319
2025-02-12 09:14:41 -05:00
Brad King
7e5a80c7ff
Merge topic 'execute_process-cmd-bat' into release-4.0
...
b902fbd0c6
execute_process: Clarify when a Windows command interpreter is used
e388ed687a
execute_process: Improve invocation of .cmd/.bat with spaces
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Nikita Nemkin <nikita@nemkin.ru>
Acked-by: Alexey Edelev <alexey.edelev@qt.io>
Merge-request: !10321
2025-02-12 09:10:03 -05:00
Brad King
743f87d800
Merge topic 'test-uv-patches' into release-4.0
...
ab8b94986d
Tests: Fix memory leak in CMakeLib.testUVPatches
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10324
2025-02-12 09:07:48 -05:00
Brad King
9afe813781
Merge branch 'upstream-KWSys' into update-kwsys
...
# By KWSys Upstream
* upstream-KWSys:
KWSys 2025-02-12 (49c09912)
2025-02-12 07:24:00 -05:00
KWSys Upstream
7cd4048b3a
KWSys 2025-02-12 (49c09912)
...
Code extracted from:
https://gitlab.kitware.com/utils/kwsys.git
at commit 49c099125d24880b2f71501fd81542896107e703 (master).
Upstream Shortlog
-----------------
Brad King (1):
6b6ab811 SystemTools: Revert "use CopyFile on Windows"
Leonid Pospelov (1):
6958dea7 SystemTools: use CopyFile on Windows
Xeonacid (1):
2f654745 SystemInformation: Let NumberOf{Physical,Logical}CPU respect each other
2025-02-12 07:23:59 -05:00
Robert Maynard
f5837f0ac9
cmFindBase: Don't pass vector::erase an out of bounds iterator
...
Fixes : #26606
2025-02-11 14:59:21 -05:00
Martin Duffy
c8e319d08c
instrumentation: Add experimental notes to docs
2025-02-11 13:47:56 -05:00
Martin Duffy
f777af7734
instrumentation: Update docs for available snippets
2025-02-11 13:47:20 -05:00
Martin Duffy
2299b2fcab
instrumentation: Add build snippet
...
Adds a new snippet generation for recording the full time spent waiting for
`ninja` or `make` invocations to finish.
2025-02-11 13:31:28 -05:00
Matthew Woehlke
0ba5343b66
cmPackageInfoReader: Fix configuration-specific importing
...
Modify cmPackageInfoReader to also append the configuration to the
IMPORTED_CONFIGURATIONS property of every target which has configuration
specific properties. We retain pre-populating this with the package's
default_configurations (if specified) in order to ensure that those are
given preference, but we also need to add every configuration that
actually exists in order to ensure that the target is usable, especially
if default_configurations was not provided.
2025-02-11 13:23:29 -05:00
Matthew Woehlke
83b22da7ac
cmPackageInfoReader: Inherit cps_version
...
Modify cmPackageInfoReader to not require schema_version in supplemental
files (i.e. appendices and/or configuration-specific files). This is
important as our own generation is not including cps_version in
supplemental files, and it is forbidden in the same according to a
strict reading of the specification.
2025-02-11 12:32:46 -05:00
Matthew Woehlke
caff0d62c6
cmFindPackageCommand: Simplify cmStrCat
...
Replace an unnecessary single-character string_view in cmStrCat with a
literal character.
2025-02-11 12:29:06 -05:00
Brad King
1d07da0912
Help: Clarify context of target_link_libraries pre-4.0 behavior documentation
...
Update paragraphs that exist only to document pre-4.0 behavior to
explicitly state so.
Fixes : #26679
2025-02-11 09:30:57 -05:00
Brad King
b7dc28cb8c
Help: Drop target_link_libraries redundant prose on debug/optimized keywords
...
This is already documented in the overview, and does not need to be
repeated for a specific signature.
Issue: #26679
2025-02-11 09:30:55 -05:00
Brad King
b4bac3018f
Help: Drop target_link_libraries mention of CMP0003 and CMP0004
...
These policies have been removed by CMake 4.0 and have not been
practically relevant in many years.
Issue: #26679
2025-02-11 09:24:07 -05:00
Brad King
639eee1a0c
Help: Call out target_link_libraries legacy signatures earlier
2025-02-11 09:23:06 -05:00
Nikita Nemkin
4b7ed0ec79
Help: Clarify find_library() behavior for suffixed libraries
...
The name is used as-is only if it contains a recognized suffix.
Clarify this behavior and add links to the relevant variables.
Fixes : #18401
2025-02-11 08:50:59 -05:00
Brad King
ab8b94986d
Tests: Fix memory leak in CMakeLib.testUVPatches
...
In commit f189e64126
(Tests: Add cases covering our mkdtemp code paths,
2025-02-07) we forgot to close the libuv default loop.
2025-02-11 07:57:42 -05:00
Brad King
b2674f3b38
Merge topic 'instrumentation-doc-fixes' into release-4.0
...
32e9d27c88
instrumentation: Remove undocumented binaryDir field from snippets
d88458b5ea
instrumentation: Improve documentation for CMake Instrumentation
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10320
2025-02-11 07:46:46 -05:00
Brad King
2baab9b99f
Merge topic 'print-presets-log-level' into release-4.0
...
5303ad3823
Presets: Only print presets variables for verbose log level or higher
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10315
2025-02-11 07:45:21 -05:00
Brad King
3fe49bd9b6
Merge topic 'update-kwsys' into release-4.0
...
0938643895
Merge branch 'upstream-KWSys' into update-kwsys
c4206da3f7
KWSys 2025-02-10 (2e2f80f1)
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10317
2025-02-11 07:43:51 -05:00