Commit Graph

7927 Commits

Author SHA1 Message Date
Brad King 6a800f666f Merge topic 'CMAKE_LANG_LINK_MODE-variable-creation'
00932ea864 Introduce CMAKE_<LANG>_LINK_MODE variable.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Alex <leha-bot@yandex.ru>
Merge-request: !10162
2025-01-13 11:23:32 -05:00
Brad King eb616ed6fd Merge topic 'fix-Fortran_BUILDING_INTRINSIC_MODULES'
b65930a7a7 Fortran: Add Fortran_BUILDING_INTRINSIC_MODULES for building intrinsics

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10158
2025-01-13 11:22:05 -05:00
Brad King e6d5a518b1 Merge branch 'release-3.31' 2025-01-10 10:58:32 -05:00
Brad King 569b821a13 CMake 3.31.4 2025-01-10 09:59:02 -05:00
Brad King 675518ea81 Merge topic 'revert-genex-tco-subgraph'
a6b84a438f GenEx: Revert "Limit TARGET_PROPERTY transitive closure optimization"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10156
2025-01-10 09:21:04 -05:00
Brad King 1ebfd7ac81 Merge topic 'gcc-import-std'
2a0ca6a26d ci: add jobs to test GCC 15-to-be with `import std`
469175c2e6 Experimental: recycle the `import std` UUID
a980dab9b1 gcc: support `import std`
2791b7564b Tests/RunCMake: handle C++26 support where needed

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10023
2025-01-10 09:04:38 -05:00
Marc Chevrier 00932ea864 Introduce CMAKE_<LANG>_LINK_MODE variable.
This variable define how the link step is done. Possible values are:
* DRIVER: the compiler is used as driver for the link step
* LINKER: the linker is used directly for the link step.
2025-01-10 13:24:16 +01:00
Alex Turbov b65930a7a7 Fortran: Add Fortran_BUILDING_INTRINSIC_MODULES for building intrinsics
In commit fe3f846e1b (Makefiles: Add support for building Fortran
intrinsics, 2020-11-19, v3.22.0-rc1~565^2) the property was added with
incorrect spelling `Fortran_BUILDING_INSTRINSIC_MODULES`.  Add a new
property with the correct spelling.  Keep the old one for compatibility.

Issue: #21463
2025-01-09 15:30:00 -05:00
Brad King a6b84a438f GenEx: Revert "Limit TARGET_PROPERTY transitive closure optimization"
Revert commit 4a11772618 (GenEx: Limit TARGET_PROPERTY transitive
closure optimization to subgraphs, 2024-05-31, v3.31.0-rc1~114^2).
The change caused substantial performance regressions in some
existing use cases.  Revert it pending further investigation.

Issue: #25728
Fixes: #26457
2025-01-09 11:56:20 -05:00
Brad King 5733f2bfcb Merge topic 'patch-file-make-directory'
d7b33ed8e2 file(MAKE_DIRECTORY): Update synopsis signature

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10145
2025-01-09 10:46:55 -05:00
Brad King ac54f5d50d Merge topic 'patch-found-var'
1a8e43d57d FindPackageHandleStandardArgs: Clarify the FOUND_VAR option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10134
2025-01-09 10:44:01 -05:00
Brad King 519c252bc8 Merge topic 'tutorial-step1-files-to-edit'
e61ba188b6 Tutorial: Add missing entry in Step 1 list of files to edit

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Nirav Nirmal <nirmalnirav@outlook.com>
Merge-request: !10135
2025-01-09 10:36:43 -05:00
Ben Boeckel 469175c2e6 Experimental: recycle the import std UUID
Now that GCC is supported, update the feature UUID.
2025-01-08 16:32:14 -05:00
Nirav Nirmal e61ba188b6 Tutorial: Add missing entry in Step 1 list of files to edit
Exercise 3 requires editing `TutorialConfig.h.in`.
2025-01-08 09:43:06 -05:00
Brad King d949e7980c Merge topic 'FindBISON-OPTIONS-keyword'
211cec0f20 FindBISON: Add new keyword OPTIONS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10129
2025-01-08 09:29:38 -05:00
Peter Kokot d7b33ed8e2 file(MAKE_DIRECTORY): Update synopsis signature
This syncs the signature as it provides another optional option.
2025-01-07 02:15:33 +01:00
Peter Kokot 211cec0f20 FindBISON: Add new keyword OPTIONS
This adds a new keyword OPTIONS which is a semicolon-separated list of
command-line options added to bison command line. This enables adding
options more intuitively. It mainly adds options as quoted arguments
which among other things enables adding paths containing spaces and
similar.

Fixes:
- https://gitlab.kitware.com/cmake/cmake/-/issues/23301
2025-01-06 06:41:57 +01:00
Peter Kokot d63ffb4116 FindFLEX: Add new keyword OPTIONS
This adds a new keyword OPTIONS which is a semicolon-separated list of
command-line options added to flex command line. This enables adding
options more intuitively. It mainly adds options as quoted arguments
which among other things enables adding paths containing spaces and
similar.

Fixes:
- https://gitlab.kitware.com/cmake/cmake/-/issues/23301
2025-01-06 06:41:41 +01:00
Peter Kokot 1a8e43d57d FindPackageHandleStandardArgs: Clarify the FOUND_VAR option
The `find_package_handle_standard_args(FOUND_VAR)` is deprecated as of
CMake 3.3 and both the `<PackageName>_FOUND` and the upper-cased
`<PACKAGE_NAME>_FOUND` are set with or without using this option.
Additionally, find modules and docs are also synced with this to make it
clearer.
2024-12-31 02:07:16 +01:00
Peter Kokot 40d68b5087 Help: Add links to FeatureSummary module 2024-12-25 17:32:04 +01:00
Brad King 29385c20e6 Merge topic 'Help-WHOLE_ARCHIVE-clarification'
7baf4a9aeb Help: LINK_LIBRARY:WHOLE_ARCHIVE clarification

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10115
2024-12-19 13:32:59 -05:00
Brad King c8c1c9beb8 Merge branch 'release-3.31' 2024-12-19 10:50:21 -05:00
Marc Chevrier 7baf4a9aeb Help: LINK_LIBRARY:WHOLE_ARCHIVE clarification
Fixes: #26540
2024-12-19 16:41:50 +01:00
Brad King 41abd532b6 CMake 3.31.3 2024-12-19 10:18:19 -05:00
Brad King 4e119c1d7c Merge topic 'try_run_cache'
9be6e42499 Help: Note try_compile/try_run caching

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10108
2024-12-19 08:32:59 -05:00
scivision 9be6e42499 Help: Note try_compile/try_run caching 2024-12-18 10:04:47 -05:00
Brad King 5c7bb0bfd9 Merge topic 'rename-cmakelists'
fcbc883fa3 cmake: Allow configuration of default script names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !10059
2024-12-18 08:49:58 -05:00
Martin Duffy fcbc883fa3 cmake: Allow configuration of default script names
Adds the ``--project-file`` command-line option to modify the default script
name loaded by CMake and ``add_subdirectory`` to values other than
``CMakeLists.txt``.

Fixes: #21570
2024-12-17 12:47:02 -05:00
Brad King e483d7fb57 Merge topic 'ctest-invalid-arg'
30dded462a Help: Add 3.30 release note for error on unknown arguments to ctest

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10106
2024-12-17 10:54:55 -05:00
Brad King f27ba9768b Merge topic 'ctest-invalid-arg' into release-3.31
30dded462a Help: Add 3.30 release note for error on unknown arguments to ctest

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10106
2024-12-17 10:54:53 -05:00
Brad King 2264356ebf Merge topic 'doc-buildsystem-binary-targets'
be0b837e2b Help: Fix cmake-buildsystem(7) internal link

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10105
2024-12-17 10:44:37 -05:00
Brad King 30dded462a Help: Add 3.30 release note for error on unknown arguments to ctest
This was left out of commit 304396d13c (ctest: Show error on invalid
ctest arguments, 2024-04-03, v3.30.0-rc1~286^2).

Fixes: #26539
2024-12-17 10:32:05 -05:00
Brad King 6f3ec4a341 Merge topic 'GenEx-PATH-NATIVE_PATH'
427be46424 GenEx $<PATH>: Add NATIVE_PATH sub-command.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10087
2024-12-17 10:13:16 -05:00
Brad King 135e6feba9 Merge topic 'find-cps'
d00201afd6 Tests: Add tests for CPS find_package
65429611b9 find_package: Fix handling of relative paths in CPS
5236984a08 Help: Describe CPS support in find_package
34828650d6 find_package: Add experimental gate for CPS support
25cc83428e find_package: Actually import .cps files
91c31ada23 find_package: Actually find .cps files
b89e43b2bc find_package: Start implementing CPS search
3e9f96079d Add additional string case functions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10018
2024-12-17 10:12:24 -05:00
Brad King be0b837e2b Help: Fix cmake-buildsystem(7) internal link
Fix a broken link from commit 987f3fa4e0 (Help: Add cmake-buildsystem(7)
subsections for each binary target type, 2024-12-12).
2024-12-17 10:08:33 -05:00
Brad King ef1300749c Merge topic 'ci-linkcheck'
25b25a7724 Help: Update link to UTF-8 RFC 3629

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10103
2024-12-17 10:07:47 -05:00
Brad King 25b25a7724 Help: Update link to UTF-8 RFC 3629
The old link now returns 404.
2024-12-16 09:20:23 -05:00
Brad King 546be3530a Merge topic 'xcode-scheme-lldb-init-file'
419cfe30d0 Xcode: Support for 'LLDB Init File' scheme property
65ad1bbd4c vim: Remove duplicated keywords from cmake.vim
a96d6a98d3 Tests/RunCMake/XcodeProject: Improve XcodeSchemaProperty failure messages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10093
2024-12-16 09:08:56 -05:00
Brad King a72262644e Merge topic 'doc-LINK_WHAT_YOU_USE'
e4cd54dab2 Help: Clarify intended purpose of LINK_WHAT_YOU_USE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10101
2024-12-16 09:06:41 -05:00
Brad King ed8180f2eb Merge topic 'debugger-working-directory'
7bf07baccf Help: Fix indentation of DEBUGGER_WORKING_DIRECTORY

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10099
2024-12-16 09:06:02 -05:00
Timothy Finnegan 427be46424 GenEx $<PATH>: Add NATIVE_PATH sub-command.
Implements the generator expression $<PATH:MATIVE_PATH> which convert
path(s) into a native format with platform-specific slashes (``\`` on
Windows hosts and ``/`` elsewhere).

Fixes: #26515
2024-12-14 11:16:47 +01:00
Brad King e4cd54dab2 Help: Clarify intended purpose of LINK_WHAT_YOU_USE
Avoid implying that it can be used to intentionally link to
shared libraries whose symbols are not needed.

Issue: #26529
2024-12-13 10:53:54 -05:00
Garrett Campbell 7bf07baccf Help: Fix indentation of DEBUGGER_WORKING_DIRECTORY
In commit 9ed178f9d8 (Add generator-agnostic DEBUGGER_WORKING_DIRECTORY
target property, 2024-12-05) the documentation was incorrectly indented.

Issue: #16478
2024-12-13 10:10:13 -05:00
Brad King 987f3fa4e0 Help: Add cmake-buildsystem(7) subsections for each binary target type
Re-organize the "Binary Targets" section of the manual to have a
dedicated subsection for each kind of binary target.  Initialize each
subsection by documenting the object file and link semantics of the
corresponding target type.
2024-12-13 09:53:26 -05:00
Matthew Woehlke 5236984a08 Help: Describe CPS support in find_package
Update find_package documentation to describe (the current state of)
support for Common Package Specification packages. Make some general
improvements to the same while we're at it. Add documentation blurb for
the experimental flag that enables CPS support.
2024-12-13 08:58:24 -05:00
Matthew Woehlke b89e43b2bc find_package: Start implementing CPS search
Teach find_package to search CPS search paths, and to look for CPS file
names. Modify the set of file names to also include the file type (CPS
or CMake-script). Modify the search function to allow specifying which
file type(s) to consider.

During full path search, each possible path is searched for only one of
the two possible file types. However, subsequent runs, or when
considering a user-specified path (<name>_DIR), CMake will look for both
file types.

Note that this only adds the new path search logic as described above;
CMake does not yet know how to read CPS files, and there is a high
likelihood that Bad Things will happen if it tries. However, this seemed
like a good place to checkpoint.
2024-12-13 08:58:24 -05:00
Cristiano Carvalheiro 419cfe30d0 Xcode: Support for 'LLDB Init File' scheme property
Fixes: #24002
2024-12-13 08:31:11 -05:00
Brad King 85f4fdc000 Merge topic 'debugger-working-directory'
0a9fb88121 fileapi: Report DEBUGGER_WORKING_DIRECTORY in codemodel-v2 target objects
9ed178f9d8 Add generator-agnostic DEBUGGER_WORKING_DIRECTORY target property
200efab4d4 Tests/RunCMake/FileAPI: Improve error on unexpected line numbers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10075
2024-12-11 09:47:03 -05:00
Matthew Woehlke b4704d3ef8 Help/dev: Improve coding conventions guide
Improve the coding conventions specified in our source code guide:

- Recommend capitalization for locals as well as members.

- Remove exceptions for `const` placement; new code should always prefer
  "east" style.

- Remove separate section; "Code Style" and "Code Conventions" are
  similar enough to not need to make a distinction.
2024-12-10 14:18:08 -05:00
Garrett Campbell 0a9fb88121 fileapi: Report DEBUGGER_WORKING_DIRECTORY in codemodel-v2 target objects
Closes: #16478
2024-12-10 09:04:31 -05:00