Commit Graph

8236 Commits

Author SHA1 Message Date
Brad King
75da788360 Merge topic 'find-package-required'
857a039d66 find_*: Add variable to default calls to REQUIRED

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10364
2025-02-28 11:15:23 -05:00
Brad King
7f850fba3c Merge topic 'rel-sunos'
5dd973f900 ci: Convert sunos packaging jobs to build sunos-{x86_64,sparc64} binaries
fd1907e50e Utilities/Release: Convert base images to build sunos-{x86_64,sparc64}

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10401
2025-02-28 11:09:49 -05:00
Brad King
5dd973f900 ci: Convert sunos packaging jobs to build sunos-{x86_64,sparc64} binaries 2025-02-27 16:35:09 -05:00
Martin Duffy
857a039d66 find_*: Add variable to default calls to REQUIRED
This adds a `CMAKE_FIND_REQUIRED` variable which causes `find_package`,
`find_path`, `find_file`, `find_library` and `find_program` to be
considered `REQUIRED` by default.

It also introduces an `OPTIONAL` keyword to those commands, allowing
them to ignore the value of this variable.

Issue: #26576
2025-02-27 10:51:07 -05:00
Brad King
11821a386d Merge topic 'nvpl'
9ead7c2129 FindBLAS: Add support for NVPL
dbbfec8712 Tests/Find{BLAS,LAPACK}: Comment purpose of integer size fallback
6ce494ed6d ci: Add NVPL to Debian aarch64 base image

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10374
2025-02-27 09:36:03 -05:00
Vito Gamberini
9ead7c2129 FindBLAS: Add support for NVPL 2025-02-26 13:29:03 -05:00
Matthew Woehlke
c8ccd5a9e3 export: Add build-tree CPS support
Add Common Package Specification support to export(EXPORT).
2025-02-25 15:42:23 -05:00
Brad King
40ed8752ef Merge topic 'genex-transitive-link-libraries'
b3da9c6d60 GenEx: Evaluate LINK_LIBRARIES target properties transitively

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10391
2025-02-25 10:08:14 -05:00
Brad King
b1c592acc8 Merge topic 'add-dependency-one-arg'
609c949061 add_dependencies: Allow calling with no dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10372
2025-02-25 10:05:19 -05:00
Brad King
40bc9bfdac Merge topic 'find_package-sort-direction'
0e2b87244c find_package: Fix CMAKE_FIND_PACKAGE_SORT_DIRECTION documented default

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10390
2025-02-25 09:53:37 -05:00
Brad King
4af0f637c4 Merge topic 'instrumentation-quote-command'
4e7b37cad3 instrumentation: Quote command arguments to preserve separation
99cd4d979b CTest: Fix startTime in test snippets when using instrumentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10386
2025-02-25 09:38:52 -05:00
Hongxu Xu
0e2b87244c find_package: Fix CMAKE_FIND_PACKAGE_SORT_DIRECTION documented default
Previously the documentation said the default was `DEC`,
but the implementation has always defaulted to `ASC`.

Fixes: #22728
2025-02-24 15:03:34 -05:00
Martin Duffy
609c949061 add_dependencies: Allow calling with no dependencies
Fixes: #26713
2025-02-24 13:56:31 -05:00
Martin Duffy
4e7b37cad3 instrumentation: Quote command arguments to preserve separation
Fixes: #26702
2025-02-24 13:11:19 -05:00
Brad King
b3da9c6d60 GenEx: Evaluate LINK_LIBRARIES target properties transitively
The `LINK_LIBRARIES` and `INTERFACE_LINK_LIBRARIES` target properties
establish the graph of link dependencies used to propagate usage
requirements transitively.  Therefore the `$<TARGET_PROPERTY:...>`
generator expression should evaluate them transitively as it does for
other transitive properties.  Add policy CMP0189 for compatibility.

Fixes: #26709
Issue: #12435
2025-02-24 11:43:47 -05:00
Brad King
1113623d25 Merge branch 'release-3.31' 2025-02-24 11:20:39 -05:00
Brad King
12e76f1e26 Merge branch 'release-3.31' into release-4.0 2025-02-24 11:20:20 -05:00
Brad King
859ca5c4d7 CMake 3.31.6 2025-02-24 10:53:17 -05:00
Brad King
806fe88cb6 Merge branch 'release-3.30' 2025-02-24 10:44:32 -05:00
Brad King
db1478d145 Merge branch 'release-3.31' into release-4.0 2025-02-24 10:44:06 -05:00
Brad King
1e2e9ceccf Merge branch 'release-3.30' into release-3.31 2025-02-24 10:43:52 -05:00
Brad King
2bd6fbe1b0 CMake 3.30.8 2025-02-24 10:09:52 -05:00
Brad King
f0140a6e72 Merge topic 'policy-version-env'
33856b1d62 Add CMAKE_POLICY_VERSION_MINIMUM environment variable
04721acc6c Tests: Cover CMAKE_POLICY_VERSION_MINIMUM in initial cache script
729470ff6d Tests: Cover CMAKE_POLICY_VERSION_MINIMUM in script mode
6cd10ffed7 Tests: Cover CMAKE_POLICY_VERSION_MINIMUM as cache entry

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: John Parent <john.parent@kitware.com>
Merge-request: !10376
2025-02-21 09:13:01 -05:00
Brad King
1d606df7cc Merge topic 'policy-version-env' into release-4.0
33856b1d62 Add CMAKE_POLICY_VERSION_MINIMUM environment variable
04721acc6c Tests: Cover CMAKE_POLICY_VERSION_MINIMUM in initial cache script
729470ff6d Tests: Cover CMAKE_POLICY_VERSION_MINIMUM in script mode
6cd10ffed7 Tests: Cover CMAKE_POLICY_VERSION_MINIMUM as cache entry

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: John Parent <john.parent@kitware.com>
Merge-request: !10376
2025-02-21 09:12:59 -05:00
Brad King
4701678fa1 Merge topic 'doc-add_dependencies'
77a742b088 Help: add_dependencies requires at least two arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10370
2025-02-21 09:06:48 -05:00
Brad King
33856b1d62 Add CMAKE_POLICY_VERSION_MINIMUM environment variable
Extend commit 1a35351125 (Add CMAKE_POLICY_VERSION_MINIMUM to help
configure outdated projects, 2025-02-13, v4.0.0-rc1~12^2) with an
environment variable to initialize the cache entry.  That will make it
easier to use when `cmake` is invoked under layers of scripting.

Closes: #26715
2025-02-20 16:55:53 -05:00
Brad King
77a742b088 Help: add_dependencies requires at least two arguments
Update the documentation to match the implementation.
2025-02-20 08:25:58 -05:00
Nikita Nemkin
9955a3bb73 Help: Clarify EXCLUDE_FROM_DEFAULT_BUILD behavior
Note that solution build configurations ignore dependencies, unlike
the ALL_BUILD target.

Fixes: #12379
2025-02-19 21:07:51 +05:00
Nikita Nemkin
8fa9858e20 Help: Improve VS_SETTINGS and VS_TOOL_OVERRIDE documentation
Reorder paragraphs, adjust version notes, add cross-references,
note the ability to exclude files from the build.

Fixes: #11902
2025-02-19 21:07:03 +05:00
Brad King
d2cda92936 Merge topic 'remove-FindGCCXML'
2123244746 FindGCCXML: Add policy to remove this module

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10359
2025-02-18 09:51:32 -05:00
Brad King
121b1f717a Merge topic 'instrumentation-presets-hooks'
45d3ffaa95 instrumentation: Use auto for variables holding closures
d75ccd9f8d instrumentation: Fix docs for ctest --collect-instrumentation option
a2232db802 instrumentation: Make hooks compatible with presets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10352
2025-02-18 09:49:47 -05:00
Brad King
ccfa403859 Merge topic 'instrumentation-presets-hooks' into release-4.0
45d3ffaa95 instrumentation: Use auto for variables holding closures
d75ccd9f8d instrumentation: Fix docs for ctest --collect-instrumentation option
a2232db802 instrumentation: Make hooks compatible with presets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10352
2025-02-18 09:49:44 -05:00
Brad King
00ee82c190 Merge topic 'policy_max-docs'
48095c623f Help/cmake_minimum_required: clarify policy_max `versionadded` note

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10363
2025-02-18 09:43:24 -05:00
Brad King
d40e1a0682 Merge topic 'policy_max-docs' into release-4.0
48095c623f Help/cmake_minimum_required: clarify policy_max `versionadded` note

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10363
2025-02-18 09:43:23 -05:00
Brad King
63a07d455b Merge topic 'doc-4.0-relnotes-typo'
b5374e0405 Help: Fix typo in 4.0 release notes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10358
2025-02-18 09:37:02 -05:00
Ben Boeckel
48095c623f Help/cmake_minimum_required: clarify policy_max versionadded note
While the prose clarifies this below, a quick glance at the docs can
make one believe that `...3.10` has no sensible use. However, it is
still useful to tell CMake 3.12 and up that at least 3.10 behavior is
accepted.
2025-02-18 06:20:32 +01:00
Brad King
2123244746 FindGCCXML: Add policy to remove this module
GCC-XML has been superseded by CastXML for a long time.

Closes: #26687
2025-02-17 11:35:25 -05:00
Martin Duffy
d75ccd9f8d instrumentation: Fix docs for ctest --collect-instrumentation option 2025-02-17 11:03:28 -05:00
Brad King
b5374e0405 Help: Fix typo in 4.0 release notes
Reported-by: Craig Scott <craig.scott@crascit.com>
2025-02-17 10:35:20 -05:00
Brad King
ceacabc654 Merge topic 'regex2'
8d455809b0 string: Allow zero-length matches in all REGEX subcommands
ca65fa9a7f string: Allow references to unmatched groups in REGEX REPLACE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10251
2025-02-16 11:12:28 -05:00
Brad King
ad13d2f99a Merge topic 'source-with-and-without-extension'
321c647640 Include source file without an extension after the same name with an extension

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10271
2025-02-16 11:11:09 -05:00
Brad King
2526b01ffc Merge topic 'instrumentation_cdash'
a6d4a9a2ae ctest: Include cmake instrumentation data in XML files
85a63143ed instrument: don't report target=TARGET_NAME

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10332
2025-02-16 10:58:12 -05:00
Brad King
4300d08b20 Merge topic 'instrumentation_cdash' into release-4.0
a6d4a9a2ae ctest: Include cmake instrumentation data in XML files
85a63143ed instrument: don't report target=TARGET_NAME

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10332
2025-02-16 10:58:11 -05:00
Brad King
a36b38502c Merge topic 'rel-sunos'
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:40 -05:00
Brad King
28f1da4b25 ci: Add jobs to build sunos-{i386,sparc} binaries 2025-02-15 07:28:07 -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
Nikita Nemkin
8d455809b0 string: Allow zero-length matches in all REGEX subcommands
The semantics mimic other languages like Python, Java, JS, etc.
To advance past a zero-length match, the search algorithm first
tries to find a non-zero alternative branch. If that fails, it
force-advances by 1 character.

Fixes: #13790, #13792, #18690, #26629
2025-02-15 01:01:49 +05:00
Nikita Nemkin
ca65fa9a7f string: Allow references to unmatched groups in REGEX REPLACE
References to unmatched groups will be replaced with empty strings.

Issue: #26629
Fixes: #19012
2025-02-15 01:00:58 +05:00
Evan Wilde
321c647640 Include source file without an extension after the same name with an extension
CMP0115 requires that source files listed in CMake must include their
file extension, but there are cases when projects have different source
files with the same name, but one with an extension and one without.
In the current state, CMake will ignore the file without the extension
an always map it to the file with an extension.

```cmake
add_library(foo bar.c bar)
```

In the above example, the target `foo` will only recognize and depend on
`bar.c` and miss the file `bar` unless `bar` comes before `bar.c` in the
source list.
This issue also affects how custom commands emit files.

This change adds a new policy to recognize files with and without a file
extension as different files, both when building targets, and when they
are being created.

Fixes: #26058
2025-02-14 10:01:10 -05:00