Commit Graph

11835 Commits

Author SHA1 Message Date
Brad King c8f6197e09 Merge topic 'fix-test-clicolor'
3a01e2005e Tests: Unset CLICOLOR[_FORCE]

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !10070
2024-12-05 08:17:55 -05:00
Brad King ef26f74442 Merge topic 'autogen-revert-ui-rebuild'
debc4d3906 Autogen: Revert adding ui files to byproducts of the timestamp target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10056
2024-12-05 08:10:36 -05:00
Matthew Woehlke 3a01e2005e Tests: Unset CLICOLOR[_FORCE]
Ensure that the CLICOLOR[_FORCE] environment variables are not set when
running CMake's tests, as they cause especially RunCMake tests to
produce output that doesn't match the test expectations, resulting in
spurious test failures.
2024-12-04 15:02:04 -05:00
Brad King 3993dc4214 Merge branch 'backport-linker-prefix-crash' into linker-prefix-crash 2024-12-04 10:21:32 -05:00
Brad King 76f4fc7dd0 LINK_OPTIONS: Fix crash on empty LINKER: prefix
Since commit e3895f4a8b (Linking: Preserve nested LINKER: prefixes as
written, 2024-09-17, v3.31.0-rc1~60^2) we may increment an iterator past
the end.  Revise logic to avoid that.

Fixes: #26499
2024-12-04 10:16:56 -05:00
Brad King 39b96cb0d9 Merge topic 'vs-WindowsKernelModeDriver'
2709f07b4d VS: Add minimal support for Windows Kernel Mode Drivers
fec276e632 cmVisualStudio10TargetGenerator: Use inline member initialization

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10042
2024-12-04 08:52:56 -05:00
Orkun Tokdemir debc4d3906 Autogen: Revert adding ui files to byproducts of the timestamp target
When `ui_` include directives have different paths than `CMakeLists.txt`,
the dependency graph is not generated correctly.  This is the root cause
of #16776.  However, when #26135 was fixed by commit 5363bebc1e (Autogen:
Fix compilation of unchanged source files, 2024-07-16, v3.31.0-rc1~328^2),
it made #16776 worse: the build is always dirty.  Revert the fix for now.

Fixes: #26485
Issue: #26135
Issue: #25436
2024-12-04 12:37:13 +01:00
Joseph Snyder 2709f07b4d VS: Add minimal support for Windows Kernel Mode Drivers
Extend the experimental support for `WindowsKernelModeDriver` to the
Visual Studio generators.  Hard-code some settings for now.
2024-12-03 14:18:52 -05:00
Brad King b1ab297d07 Merge topic 'FindPython-SABIModule-handling'
ff65c5fca0 FindPython: Ensure SABIModule is found in all cases

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10058
2024-12-03 09:04:42 -05:00
Marc Chevrier ff65c5fca0 FindPython: Ensure SABIModule is found in all cases
Fixes: #26493
2024-12-02 17:37:18 +01:00
Brad King 8a2cdc6ada Merge topic 'normalize-input-paths'
08040ced86 cmake: Look up on-disk case of input paths on macOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10020
2024-12-02 10:04:55 -05:00
YunQiang Su 08040ced86 cmake: Look up on-disk case of input paths on macOS
Follow up commit 1a6015e5fc (PathResolver: Add helper to compute
normalized paths, 2024-10-30) to cover on-disk case lookup on macOS.

Fixes: #26333
2024-12-01 07:12:51 -05:00
Brad King 7f830c58a4 Merge topic 'ci-vs-i18n'
cc626365ca ci: Add VS 2022 nightly job in path with international characters
7b5d692165 Tests/RunCMake/ctest_build: Fix check script for i18n characters in path

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10046
2024-11-30 07:23:53 -05:00
Brad King 5aebb62d0c Merge topic 'autogen-ninja-multi-config'
8a526f6a44 Autogen: Fix Ninja Multi-Config dependency graph regression
3cac48e8cd Autogen: Restore <target_name>_autogen_timestamp_deps target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10039
2024-11-29 09:57:21 -05:00
Brad King 14ed8464c8 Merge topic 'ARCHIVER-prefix'
a4ff2b01e3 IntelLLVM-Windows: add definitions for ARCHIVER: prefix
521a6d409c Archive library: Add support for ARCHIVER: prefix

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10038
2024-11-28 09:22:38 -05:00
Brad King 4bfc22f30a Merge topic 'various-refactorings'
b48d5aeae7 find_*: Improve error message quoting consistency
d6d7ac51c8 cmFindPackageCommand.cxx: Optimize `cmStrCat()` calls
c3c9bc035c cmSearchPath: Drop unused parameter of `ExtractWithout` method
15b0feb704 cmFindCommon.cxx: Small optimizations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10043
2024-11-28 09:20:44 -05:00
Orkun Tokdemir 8a526f6a44 Autogen: Fix Ninja Multi-Config dependency graph regression
In commit 5363bebc1e (Autogen: Fix compilation of unchanged source files,
2024-07-16, v3.31.0-rc1~328^2) we relied on Ninja Multi-Config dependency graph
optimizations from commit 7c39dabdbc (Autogen: AUTO*_EXECUTABLE: add support
for per-config values, 2023-10-18, v3.29.0-rc1~105^2~1).  However, those graph
optimizations are conditional on versions of Qt that enable
[`AUTOGEN_BETTER_GRAPH_MULTI_CONFIG`](https://codereview.qt-project.org/c/qt/qtbase/+/513648).

`UseBetterGraph` should be checked to add ui files to `timestampByproducts`.

Fixes: #26475
2024-11-28 09:13:56 -05:00
Brad King 7b5d692165 Tests/RunCMake/ctest_build: Fix check script for i18n characters in path 2024-11-27 16:28:15 -05:00
Brad King e0fd630e93 Merge topic 'fphsa-refactorings'
a67df19d82 FPHSA: Consistent quoting in reported messages
440d4446f5 FPHSA: Consistent character case when mentioning the command name
998d5b1ad0 FPHSA: Consistent style for CMake command calls
c1d49b3f3c FPHSA: Refactor to use `ZIP_LISTS`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10044
2024-11-27 09:09:28 -05:00
Brad King 8a0ebc29da Merge topic 'FeatureSummary-condition-syntax'
6a7d5e414d FeatureSummary: Introduce policy CMP0183 for full Condition Syntax

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10031
2024-11-27 09:08:29 -05:00
Brad King 027bc310f5 Merge topic 'get_filename_component-REALPATH-symlink-parent'
c554437733 get_filename_component: Fix REALPATH for .. after symlink

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10025
2024-11-27 09:02:39 -05:00
Alex Turbov b48d5aeae7 find_*: Improve error message quoting consistency
Some error messages (Windows registry related) of the `find_xxx` and
`cmake_host_system_information` commands, reported keywords in quotes,
while most commands did not.
2024-11-27 08:30:15 -05:00
Alex Turbov a67df19d82 FPHSA: Consistent quoting in reported messages
Command names are not enclosed into quotes/backticks and have `()`
at the end. Named arguments (keywords) have no quotes as well.
2024-11-26 23:40:01 +04:00
Marc Chevrier 521a6d409c Archive library: Add support for ARCHIVER: prefix
Add the support of the ARCHIVER: prefix to offer a portable way to pass
options to the archiver when the compiler is used as driver.
2024-11-26 19:26:07 +01:00
Peter Kokot 6a7d5e414d FeatureSummary: Introduce policy CMP0183 for full Condition Syntax
Closes: #26468
2024-11-26 13:19:25 -05:00
Brad King a9fe9bbe6b Merge topic 'ctest-show-properties'
7b041f7fe8 ctest: Print GENERATED_RESOURCE_SPEC_FILE property in show-only output
733808150b ctest: Print custom timeout signal properties in show-only output
57587b3863 Tests/RunCMake/CTestCommandLine: Fix python string literal syntax

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10035
2024-11-26 08:55:02 -05:00
Brad King 1f8ad70230 Merge topic 'rename-find_package-test'
521190a38d Tests: Rename find_package test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10033
2024-11-26 08:51:59 -05:00
U2FsdGVkX1 c554437733 get_filename_component: Fix REALPATH for .. after symlink
Fixes: #26472
2024-11-26 06:17:15 -05:00
Brad King 7b041f7fe8 ctest: Print GENERATED_RESOURCE_SPEC_FILE property in show-only output
This was missed in commit c8c1dd0d95 (CTest: Add ability to dynamically
generate resource spec file, 2023-07-20, v3.28.0-rc1~233^2).
2024-11-25 14:18:07 -05:00
Brad King 733808150b ctest: Print custom timeout signal properties in show-only output
This was missed in commit 54c5654f7d (ctest: Optionally terminate tests
with a custom signal on timeout, 2023-05-11, v3.27.0-rc1~18^2).
2024-11-25 14:17:34 -05:00
Brad King 57587b3863 Tests/RunCMake/CTestCommandLine: Fix python string literal syntax 2024-11-25 12:15:29 -05:00
Brad King 508817037d Merge topic 'aix-archive-shared-libraries'
2c22aae14b Tests/RunCMake: Enable CMP0182 in test cases on AIX
5c78623143 AIX: Enable shared library archives by default
7a05e8e994 Help: Reword AIX_SHARED_LIBRARY_ARCHIVE to avoid assuming a default
655a245d60 Tests: Explicitly disable AIX_SHARED_LIBRARY_ARCHIVE in some cases

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10030
2024-11-25 10:07:20 -05:00
Brad King bc13010e38 Merge topic 'macOS-sw_vers-stderr'
58aa659bf8 Tests/RunCMake/cmake_host_system_information: Cover macOS Malloc Debugging env
954afd528b Merge branch 'upstream-KWSys' into macOS-sw_vers-stderr
295f4b1de1 KWSys 2024-11-23 (3e9b0b88)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10029
2024-11-25 10:03:28 -05:00
Matthew Woehlke 521190a38d Tests: Rename find_package test
We are working on adding CPS support to find_package, which will
obviously require tests (ideally, and especially in the long term, a
non-trivial number thereof). While it would be possibly to lump these
into the already rather lengthy FindPackageTest, it seems likely they
can be kept separate. Therefore, rename FindPackageTest to
FindPackageCMakeTest so that the name FindPackageCpsTest will be
available.
2024-11-23 16:41:44 -05:00
Brad King 2c22aae14b Tests/RunCMake: Enable CMP0182 in test cases on AIX
Improve coverage of CMP0182's NEW behavior by enabling it in a large
number of CMake's tests, but not in all of them, so that the OLD
behavior remains covered by some tests too.

Issue: #26372
2024-11-23 15:23:25 -05:00
Brad King 5c78623143 AIX: Enable shared library archives by default
This is the preferred convention for shared libraries on AIX.
Add policy CMP0182 to provide compatibility.

Closes: #26372
2024-11-23 15:23:25 -05:00
Brad King 655a245d60 Tests: Explicitly disable AIX_SHARED_LIBRARY_ARCHIVE in some cases
We do not want AIX shared library archives in test cases that rely on
cross-platform appearance of `.so` files.
2024-11-23 15:23:25 -05:00
Brad King 58aa659bf8 Tests/RunCMake/cmake_host_system_information: Cover macOS Malloc Debugging env
On macOS, `sw_vers` may print to `stderr` based on environment variables
like `MallocGuardEdges=1`.  Add a test to verify that we do not capture
that as part of the information it prints to `stdout`.

Issue: #26466
2024-11-23 15:17:36 -05:00
Brad King 1412bfbf58 Merge topic 'vs-solution-items'
0bb13ba0e6 VS: Add support for Visual Studio solution items
f1bcb7276a VS: Refactor solution folder creation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10003
2024-11-23 15:13:59 -05:00
Brad King 1cd99d288f Merge topic 'aix-archive-shared-libraries-export'
cd6fb63093 AIX: Propagate AIX_SHARED_LIBRARY_ARCHIVE through exports

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10027
2024-11-23 15:12:51 -05:00
Brad King 2fad42832d Merge topic 'aix-archive-shared-libraries-export' into release-3.31
cd6fb63093 AIX: Propagate AIX_SHARED_LIBRARY_ARCHIVE through exports

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10027
2024-11-23 15:12:49 -05:00
Brad King cb39fca27e Merge topic 'FindPython-update-tests'
3fad553ea5 FindPython: enhance Python3Embedded test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10021
2024-11-23 15:11:11 -05:00
Brad King e75067ce6f Merge topic 'aix-archive-shared-libraries-genex'
f923463f2b AIX: Disallow TARGET_SONAME_* genex for AIX_SHARED_LIBRARY_ARCHIVE targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10028
2024-11-22 12:31:00 -05:00
Lauri Vasama 0bb13ba0e6 VS: Add support for Visual Studio solution items
Files listed in the `VS_SOLUTION_ITEMS` directory property of a project
directory are added as solution items in the 'Solution Items' solution
directory.

If `source_group` is applied to the files listed in `VS_SOLUTION_ITEMS`,
solution groups matching the names of the source groups are created
outside of the default 'Solution Items' group.  If not items are placed
into the default group, it is not created.

Solution items added to subprojects are not included in the top-level
project.

Closes: #26409
2024-11-22 09:12:19 -05:00
Brad King a882dde32a Merge topic 'policy-cleanup'
94b2d56017 Help/policy/CMP0015: Remove stray indentation
577e693d3e Help: Use standard policy advice in CMP0000
96a0cded7f Tests: Avoid enabling C unnecessarily in CMP0022 and CMP0023 cases
c941f728ec Tests/CPackComponentsForAll: Update cmake_minimum_required to 3.10
34070c3319 Tests/CMakeCommands/target_link_libraries: Fix keyword consistency
73c334677d Tests: Use latest cmake_minimum_required possible for old policy cases
cde63efaea Tests/ExternalProject: Update sample projects to require CMake 3.31
0d416ad57f Tests/PolicyScope: Use more recent policies
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10022
2024-11-22 09:03:20 -05:00
Brad King 43c665fd85 Merge topic 'remove-trailing-blank-lines'
99ac59d31b style: Remove trailing blank lines from all CMake sources

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10026
2024-11-22 09:01:55 -05:00
Marc Chevrier 3fad553ea5 FindPython: enhance Python3Embedded test
Exclude too older compilers and avoid deprecated functions.

Fixes: #26459
2024-11-22 14:02:09 +01:00
Brad King cd6fb63093 AIX: Propagate AIX_SHARED_LIBRARY_ARCHIVE through exports
Teach `export()` and `install(EXPORT)` to record this setting on the
imported targets they generate.  Make this property's non-presence
authoritative on imported targets since they represent what was built
elsewhere.
2024-11-21 19:02:00 -05:00
Brad King f923463f2b AIX: Disallow TARGET_SONAME_* genex for AIX_SHARED_LIBRARY_ARCHIVE targets
AIX shared library archives have no filesystem artifact named with their
SONAME because it is in an archive.
2024-11-21 18:44:25 -05:00
Matthew Woehlke 99ac59d31b style: Remove trailing blank lines from all CMake sources
Our development workflow tooling prevents trailing blank lines
from being added, but some such lines remain from before that
was enforced.  Remove them to make it easier to rename files
without triggering enforcement.
2024-11-21 15:48:02 -05:00