Commit Graph

69259 Commits

Author SHA1 Message Date
Brad King
ab16216a26 Merge topic 'rel-sunos' into release-4.0
28f1da4b25 ci: Add jobs to build sunos-{i386,sparc} binaries
59ed18e54d Utilities/Release: Add base images to build sunos-{i386,sparc} binaries
a4e5719d31 Solaris: Rename local variable to avoid conflict with system headers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10350
2025-02-16 10:55:39 -05:00
Brad King
de7648117a CMakeVersion: Make script independently loadable 2025-02-16 09:29:17 -05:00
Matthew Woehlke
647633e961 Tests: Add CPS end-to-end test
Add a test that validates that we can export a package in CPS format and
import it again. This is fairly simplistic at the moment, but still
serves to validate some recent fixes that are not covered by more
targeted unit tests.
2025-02-15 07:49:13 -05:00
Matthew Woehlke
85721c4c56 install(PACKAGE_INFO): Export required components
Modify cmExportPackageInfoGenerator to record not just what packages are
required, but what targets (components) are used by those requirements,
and to populate the requirements' component lists accordingly.
2025-02-15 07:49:13 -05:00
Brad King
28f1da4b25 ci: Add jobs to build sunos-{i386,sparc} binaries 2025-02-15 07:28:07 -05:00
Brad King
59ed18e54d Utilities/Release: Add base images to build sunos-{i386,sparc} binaries 2025-02-15 07:28:06 -05:00
Brad King
a4e5719d31 Solaris: Rename local variable to avoid conflict with system headers 2025-02-15 07:28:06 -05:00
Brad King
6597a470c7 Merge topic 'update-curl' into release-4.0
80ec307900 curl: Set build options the way we need for CMake
ba77812035 Merge branch 'upstream-curl' into update-curl
1865f86e28 curl 2025-02-13 (57495c64)
302d842f6e curl: Update script to get curl 8.12.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10342
2025-02-15 07:27:27 -05:00
Brad King
dc88b35233 Merge topic 'ci-use-typos-for-commit-message-check' into release-4.0
4558c8f9ff ci: Use `typos` to check commit messages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10314
2025-02-15 07:22:45 -05:00
Brad King
94c4fc1651 Merge topic 'ci-hip-6.3' into release-4.0
bc94c018c4 ci: Update HIP image to ROCm 6.3 on Ubuntu 24.04

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10351
2025-02-15 06:54:45 -05:00
Zack Galbreath
a6d4a9a2ae ctest: Include cmake instrumentation data in XML files 2025-02-15 06:25:12 -05:00
Zack Galbreath
85a63143ed instrument: don't report target=TARGET_NAME
Remove the erroneous default target name when instrumenting
custom commands.
2025-02-15 06:21:58 -05:00
Brad King
bc94c018c4 ci: Update HIP image to ROCm 6.3 on Ubuntu 24.04
The problem described in commit ec682ff22a (ci: Update to ROCm 6 HIP on
Fedora 41, 2024-12-02, v3.31.2~3^2) occurs here too.  Move the CI work
directory to a path without spaces.

Issue: #25932
2025-02-14 16:17:45 -05:00
Alex Turbov
4558c8f9ff ci: Use typos to check commit messages
Commit messages in the CMake repo may have Git hashes that can trigger
false positives in the `typos` checker.

Revert commit ddebf4653d (ci: Do not check commit messages with 'typos'
due to false positives, 2025-02-07).  Instead, copy the top-level config
file to a temporary location, add a configuration option to mark
10-hex-digit identifiers as always valid, and pass it to `typos` at the
commit checking phase.
2025-02-14 10:10:12 -05:00
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