Commit Graph

10167 Commits

Author SHA1 Message Date
Brad King
46d5349e8f Merge topic 'help-signatures'
8c52458a9e cmRST: Fix cmake domain directives with newline before argument
d4b21bcdd6 cmRST: Fix typo in comment
6a84717d17 cmRST: Convert enum types to enum class

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8310
2023-03-10 11:08:52 -05:00
Brad King
d95ac61225 Merge topic 'cxx-module-extensions'
45d1925efc Treat '.ccm', '.cxxm', and '.c++m' files as C++ sources
8c96d145c1 Tests/RunCMake: Match 'Tried extensions' output more robustly

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !8308
2023-03-10 11:08:11 -05:00
Brad King
8c52458a9e cmRST: Fix cmake domain directives with newline before argument
The `signature` directive added by commit 74e3c1d313 (Utilities/Sphinx:
Add a directive to document command signatures, 2023-02-24) will be
commonly used with the form:

    .. signature::
       some_command(SOME_SIGNATURE)

      Docs for this signature.

Drop the assumption that all CMake domain directives are immediately
followed by their argument on the same line.
2023-03-09 16:10:03 -05:00
Brad King
8c96d145c1 Tests/RunCMake: Match 'Tried extensions' output more robustly 2023-03-09 14:35:05 -05:00
Brad King
2c146a7fc5 FindCUDA: Add policy to remove this module
The `FindCUDA` module has been deprecated since CMake 3.10.
Add a policy to pretend it doesn't exist in order to encourage
projects to port away from it.
2023-03-09 07:39:36 -05:00
Brad King
b6ffbffaf2 Merge topic 'test-minver'
bd7b2293aa Tests: Bump CMake minimum required version in find-module tests to 3.5

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8304
2023-03-09 07:38:23 -05:00
CheesyNacho10
e36e455b7c FindwxWidgets: Add an imported target 2023-03-08 16:39:38 -05:00
Brad King
bd7b2293aa Tests: Bump CMake minimum required version in find-module tests to 3.5
CMake 3.27 deprecates compatibility with CMake < 3.5.
Update find module tests to avoid the deprecation warning.
2023-03-08 15:41:43 -05:00
Brad King
e5845b25d2 Merge topic 'test-minver'
edf7888f70 Tests: Update RunCMake.include cmake_minimum_required version

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8298
2023-03-08 09:02:31 -05:00
Brad King
edf7888f70 Tests: Update RunCMake.include cmake_minimum_required version
This was missed in commit 1edf138506 (Tests/RunCMake: Update
cmake_minimum_required versions, 2023-02-06).

Also tighten up some expected stderr content to catch these
cases during similar updates in the future.
2023-03-07 17:47:26 -05:00
Kyle Edwards
f1aedf2240 Tests/RunCMake: Add script to auto-generate RunCMake test suite stub 2023-03-07 14:30:29 -05:00
Brad King
3d6075da4d Merge topic 'improve-doc-signatures'
533ebb072b Help: Use signature directive for string command
cd33f461a6 Help: Use signature directive for cmake_language command
74e3c1d313 Utilities/Sphinx: Add a directive to document command signatures
c09b760484 Utilities/Sphinx: Drop commented-out code from cmake domain impl
6e85ad7f8b Help/dev: Add per-directive sections in CMake Documentation Guide

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8243
2023-03-07 08:49:30 -05:00
Brad King
2e8e5c2cf0 Merge topic 'Xcode-frameworks-consumption'
ce1bdec3a4 Xcode: Fix missing Frameworks search paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8288
2023-03-07 08:48:40 -05:00
Marc Chevrier
ce1bdec3a4 Xcode: Fix missing Frameworks search paths
Fixes: #24541
2023-03-06 09:15:48 -05:00
Brad King
6b08358e17 Merge topic 'Apple-text-Stubs-imported-configurations'
2e24123186 Apple: text-based stubs: manage imported configurations mapping

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8283
2023-03-06 09:03:48 -05:00
Brad King
5613d7ed9f Merge topic 'GoogleTest-type-param-suite'
9aa9032266 GoogleTest: Restore suite name for type-parametrized tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8282
2023-03-06 08:53:41 -05:00
Marc Chevrier
2e24123186 Apple: text-based stubs: manage imported configurations mapping 2023-03-05 14:39:56 +01:00
Matthew Woehlke
74e3c1d313 Utilities/Sphinx: Add a directive to document command signatures
Add a `signature` directive to offer a CMake version of Sphinx's
`function` directive, similar to that found in other domains (py, cpp,
etc.).  Like others, this takes one or more signatures as arguments and
creates dt/dd nodes from the signatures and the directive contents.
2023-03-03 17:05:02 -05:00
Brad King
9aa9032266 GoogleTest: Restore suite name for type-parametrized tests
Fix a regression from commit 073dd1bd81 (GoogleTest: Change format for
typed tests, 2022-02-07, v3.23.0-rc1~4^2) in the suite name detection.

Co-authored-by: Evgeniy Shcherbina <ixsci@pm.me>
Fixes: #24563
2023-03-03 10:38:02 -05:00
Brad King
697ca5d51c Merge topic 'ExternalProject-revert-install'
771387523a ExternalProject: Restore driving install through build system

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Craig Scott <craig.scott@crascit.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !8279
2023-03-03 09:22:46 -05:00
Brad King
87330a10e2 Merge topic 'ninja-multi-output-path-prefix'
df38eaab2c Ninja Multi-Config: Write output path prefix

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8280
2023-03-03 09:18:34 -05:00
Kyle Edwards
def618f1ae Merge topic 'TargetRunTimeDllDirs'
a2c9c4f202 Add test for the new TARGET_RUNTIME_DLL_PATHS genex
aa68de0a27 TARGET_RUNTIME_DLLS: minor refactoring of shared-check.cmake
2ce3d62ffb Help: add documentation for the new TARGET_RUNTIME_DLL_DIRS genex
c351dcd967 TARGET_RUNTIME_DLL_DIRS: add the new genex to cmGeneratorExpressionNode
064c3244da TARGET_RUNTIME_DLLS: fix test for this genex

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Alex <leha-bot@yandex.ru>
Merge-request: !8247
2023-03-02 16:28:30 -05:00
Kyle Edwards
df38eaab2c Ninja Multi-Config: Write output path prefix
Fixes: #24566
2023-03-02 15:10:53 -05:00
Brad King
771387523a ExternalProject: Restore driving install through build system
Revert commit 66b5d51f38 (ExternalProject: Install CMake projects
using 'cmake --install', 2022-09-08, v3.25.0-rc1~150^2).
It changed the ExternalProject install step command from:

    cmake --build <dir> --target install --config <cfg>

to:

    cmake --install <dir> --config <cfg>

The latter command no longer runs the external project build system
during the install step.  We could consider using the commands:

    cmake --build <dir> --target all --config <cfg>
    cmake --install <dir> --config <cfg>

as the install step, but if `CMAKE_SKIP_INSTALL_ALL_DEPENDENCY` is
used in the external project, that can change semantics too.

Revert the original change pending further investigation on other ways
to support its motivating use case.  Add a test covering the
previously-regressed use case.

Fixes: #24567
Issue: #23946
2023-03-02 14:28:26 -05:00
Brad King
9f309e655f Merge topic 'test-minver'
f53bd6f450 Tests: Bump CMake minimum required in tests to 3.5

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8274
2023-03-02 10:13:08 -05:00
Brad King
5fe186ade7 Merge topic 'target_sources-backtrace'
b909be9e23 target_sources: Fix backtrace on missing source
4a3e79048b Tests: Add RunCMake.target_sources case covering missing source

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !8268
2023-03-02 10:07:31 -05:00
Brad King
1d7fb31778 Merge topic 'Apple-handle-Text-Stubs'
ede33f30cf Apple: Handle generation and comsuption of text-based stubs (.tbd files)
fcbd723a50 Enhance support functions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !8204
2023-03-02 09:53:03 -05:00
Brad King
f53bd6f450 Tests: Bump CMake minimum required in tests to 3.5
CMake 3.27 deprecates compatibility with CMake < 3.5.  Update tests that
do not cover older interfaces to avoid the deprecation warning.

Follow the pattern from:

* commit 7b07ccdd2b (Tests/*Only: Update cmake_minimum_required versions,
                     2020-06-15, v3.19.0-rc1~629^2~1)

* commit 72e7c45e98 (Tests: Bump CMake minimum required in tests to 2.8.12,
                     2020-12-22, v3.20.0-rc1~224^2)

* commit f6b4db365a (Tests: bump cmake_minimum_required version to 2.8.12,
                     2021-04-04, v3.21.0-rc1~372^2)

Also remove explicit `cmake_policy` settings made redundant by the
version.
2023-03-01 16:36:54 -05:00
Marc Chevrier
ede33f30cf Apple: Handle generation and comsuption of text-based stubs (.tbd files)
Fixes: #24123
2023-03-01 12:23:28 +01:00
Brad King
b909be9e23 target_sources: Fix backtrace on missing source
If a source file is not found, the error message reports a backtrace.
Previously the backtrace pointed at where the target was created.
In the case of `target_sources`, the missing source may have been
named elsewhere.

Fixes: #24538
2023-02-28 18:07:36 -05:00
Brad King
4a3e79048b Tests: Add RunCMake.target_sources case covering missing source 2023-02-28 17:50:31 -05:00
Brad King
2e469212c8 Dart,FindDart: Add policy to remove these modules
These modules and the "DART" tool they support have long been replaced
by CTest.
2023-02-28 08:43:45 -05:00
Brad King
6dd2948b4b Tests: Port "testing" test from Dart module to CTest module 2023-02-28 08:35:19 -05:00
Brad King
12d041b8f7 Merge topic 'target_sources-file_set-no-exist'
7e3f9aa1b2 target_sources: give a hint when a file named `FILE_SET` is not found

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8253
2023-02-28 08:32:04 -05:00
Brad King
8190d5e40b Merge topic 'FindX11-more-xcb-components'
0cca309dfd FindX11: support the xcb-{cursor,shape,xrm} components
e7d7710cf2 Tests/FindX11: fix preprocessor check for xcb_xrandr component

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8261
2023-02-28 08:30:05 -05:00
Brad King
40539096fd Merge topic 'dll-name-soversion'
a7f9c7da26 Add option to add SOVERSION to DLL names
9694504adc Tests: Simplify RunCMake.TargetArtifacts spec
3cd34eb279 Tests: Rename RunCMake.{ArtifactOutputDirs => TargetArtifacts}

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8021
2023-02-28 08:29:20 -05:00
Ben Boeckel
0cca309dfd FindX11: support the xcb-{cursor,shape,xrm} components
Fixes: #24417
2023-02-27 17:40:48 -05:00
Ben Boeckel
e7d7710cf2 Tests/FindX11: fix preprocessor check for xcb_xrandr component 2023-02-27 17:40:31 -05:00
Ralf Habacker
a7f9c7da26 Add option to add SOVERSION to DLL names
Add variable/target property `[CMAKE_]DLL_NAME_WITH_SOVERSION`.

Fixes: #24251
Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
2023-02-27 09:18:34 -05:00
Brad King
9ae0402198 Merge topic 'install-prefix-genex-install-code-script'
18e02ace5b install(CODE|SCRIPT): Support $<INSTALL_PREFIX> genex

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8251
2023-02-27 09:06:20 -05:00
Alexander Neundorf
a2c9c4f202 Add test for the new TARGET_RUNTIME_DLL_PATHS genex
For one of the shared libraries the RUNTIME_OUTPUT_PATH
is set to a subdir and the test is supposed to check that
those directories appear in TARGET_RUNTIME_DLL_PATHS genex
2023-02-26 16:37:37 +01:00
Alexander Neundorf
aa68de0a27 TARGET_RUNTIME_DLLS: minor refactoring of shared-check.cmake
Renamed variables and text which mentions dlls to items, since
we can use this check also for testing the directories.
2023-02-26 16:37:37 +01:00
Craig Scott
57f09a818c Merge topic 'fetchcontent-reject-CMAKE_TOOLCHAIN_FILE-env-var'
c15674a9cb FetchContent: Reject CMAKE_TOOLCHAIN_FILE env var in sub-build
31ef93f19f FetchContent: Only use @-@ replacements for sub-build CMakeLists.txt

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8248
2023-02-25 17:16:37 -05:00
Ben Boeckel
7e3f9aa1b2 target_sources: give a hint when a file named FILE_SET is not found
`FILE_SET` is only supported within `target_sources()` and only directly
after a visibility keyword or another `FILE_SET`. Give a hint as to what
might be wrong if a file named `FILE_SET` cannot be found for any
reason.

Fixes: #24539
2023-02-24 17:43:22 -05:00
Brad King
9694504adc Tests: Simplify RunCMake.TargetArtifacts spec 2023-02-24 15:23:10 -05:00
Brad King
3cd34eb279 Tests: Rename RunCMake.{ArtifactOutputDirs => TargetArtifacts}
Generalize the name so we can add other kinds of artifact checks.
2023-02-24 15:00:32 -05:00
Kyle Edwards
18e02ace5b install(CODE|SCRIPT): Support $<INSTALL_PREFIX> genex
Fixes: #24534
2023-02-24 10:17:45 -05:00
Brad King
35ca2d524b Merge topic 'msvc-embed-manifest-direct'
0b552eb877 MSVC: Embed manifests directly for non-incremental vs_link_exe links

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8245
2023-02-24 08:40:07 -05:00
Brad King
88b75204e5 Merge topic 'PATH-genex-handle-list-of-paths'
e395310a21 PATH-genex: handle lists for path decomposition and transformations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !8238
2023-02-24 08:35:19 -05:00
Brad King
7552276e6e Merge topic 'GenerateExportHeader-Fix-Clang-support-on-Windows'
1e19936320 GenerateExportHeader: Fix Clang support on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Adrien De Coninck <deconinck.adrien@gmail.com>
Merge-request: !8221
2023-02-24 08:33:23 -05:00