From 74d70d13cd91bfd3e5c9f0061141f84fa0d31ae9 Mon Sep 17 00:00:00 2001 From: Craig Scott Date: Sat, 21 Jun 2025 16:23:01 +1000 Subject: [PATCH 1/5] Help: Fix repeated word in file API docs for sourceFileExtensions --- Help/manual/cmake-file-api.7.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Help/manual/cmake-file-api.7.rst b/Help/manual/cmake-file-api.7.rst index a15453971c..19a3c71a0e 100644 --- a/Help/manual/cmake-file-api.7.rst +++ b/Help/manual/cmake-file-api.7.rst @@ -1828,6 +1828,6 @@ The members specific to ``toolchains`` objects are: ``sourceFileExtensions`` Optional member that is present when the :variable:`CMAKE__SOURCE_FILE_EXTENSIONS` variable is defined for - the current language. Its value is a JSON array of JSON strings where each + the current language. Its value is a JSON array of JSON strings where each string holds a file extension (without the leading dot) for the language. From 1398ef18c2018c9e421155d9c473fcedba9b6d5d Mon Sep 17 00:00:00 2001 From: Craig Scott Date: Fri, 27 Jun 2025 19:10:59 +1000 Subject: [PATCH 2/5] Help: Add missing backtrace property to compileCommandFragments Fixes: #27030 --- Help/manual/cmake-file-api.7.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Help/manual/cmake-file-api.7.rst b/Help/manual/cmake-file-api.7.rst index 19a3c71a0e..aa8f260746 100644 --- a/Help/manual/cmake-file-api.7.rst +++ b/Help/manual/cmake-file-api.7.rst @@ -1301,6 +1301,12 @@ with members: A string specifying a fragment of the compile command line invocation. The value is encoded in the build system's native shell format. + ``backtrace`` + Optional member that is present when a CMake language backtrace to + the command invocation that added this fragment is available. + The value is an unsigned integer 0-based index into the + ``backtraceGraph`` member's ``nodes`` array. + ``includes`` Optional member that is present when there are include directories. The value is a JSON array with an entry for each directory. Each From 094436db98db55cd051313864be58d52de0a606d Mon Sep 17 00:00:00 2001 From: Craig Scott Date: Fri, 27 Jun 2025 17:08:43 +1000 Subject: [PATCH 3/5] Help: The fileSets item in a codemodel target object is optional --- Help/manual/cmake-file-api.7.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Help/manual/cmake-file-api.7.rst b/Help/manual/cmake-file-api.7.rst index aa8f260746..2b6bcb4ac8 100644 --- a/Help/manual/cmake-file-api.7.rst +++ b/Help/manual/cmake-file-api.7.rst @@ -1180,8 +1180,9 @@ with members: the ``backtraceGraph`` member's ``nodes`` array. ``fileSets`` - A JSON array of entries corresponding to the target's file sets. Each entry - is a JSON object with members: + An optional member that is present when a target defines one or more + file sets. The value is a JSON array of entries corresponding to the + target's file sets. Each entry is a JSON object with members: ``name`` A string specifying the name of the file set. From bef17abc09eb481a2628e6fc7c1a2ba7cb72b8a9 Mon Sep 17 00:00:00 2001 From: Craig Scott Date: Fri, 4 Jul 2025 10:27:51 +1000 Subject: [PATCH 4/5] Help: Add file API fileSet... fields missed in the 3.23 release notes --- Help/release/3.23.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Help/release/3.23.rst b/Help/release/3.23.rst index 5d8577732b..20e43c5062 100644 --- a/Help/release/3.23.rst +++ b/Help/release/3.23.rst @@ -78,7 +78,9 @@ File-Based API has been updated to ``2.4``. * The :manual:`cmake-file-api(7)` "codemodel" version 2 ``directory`` - object ``installers`` field gained a new ``fileSet`` installer type. + object ``installers`` field gained a new ``fileSet`` installer type + and associated ``fileSetName``, ``fileSetType``, ``fileSetDirectories``, + and ``fileSetTarget`` fields. Commands -------- From da73f6b058f06bf98275b8819f2050c9ef259986 Mon Sep 17 00:00:00 2001 From: Craig Scott Date: Fri, 4 Jul 2025 10:30:06 +1000 Subject: [PATCH 5/5] Help: Add cxxModuleBmi details missing from file API and release notes Fixes: #27028 --- Help/manual/cmake-file-api.7.rst | 22 ++++++++++++++++++++++ Help/release/3.26.rst | 4 ++++ 2 files changed, 26 insertions(+) diff --git a/Help/manual/cmake-file-api.7.rst b/Help/manual/cmake-file-api.7.rst index 2b6bcb4ac8..058e4aaabf 100644 --- a/Help/manual/cmake-file-api.7.rst +++ b/Help/manual/cmake-file-api.7.rst @@ -822,6 +822,13 @@ with members: This type was added in codemodel version 2.4. + ``cxxModuleBmi`` + An :command:`install(TARGETS)` call with ``CXX_MODULES_BMI``. + The ``destination`` member is populated and the ``isOptional`` member + may exist. This type has an additional ``cxxModuleBmiTarget`` member. + + This type was added in codemodel version 2.5. + ``isExcludeFromAll`` Optional member that is present with boolean value ``true`` when :command:`install` is called with the ``EXCLUDE_FROM_ALL`` option. @@ -934,6 +941,21 @@ with members: This field was added in codemodel version 2.4. + ``cxxModuleBmiTarget`` + Optional member that is present when ``type`` is ``cxxModuleBmi``. + The value is a JSON object with members: + + ``id`` + A string uniquely identifying the target. This matches + the ``id`` member of the target in the main "codemodel" + object's ``targets`` array. + + ``index`` + An unsigned integer 0-based index into the main "codemodel" + object's ``targets`` array for the target. + + This field was added in codemodel version 2.5. + ``scriptFile`` Optional member that is present when ``type`` is ``script``. The value is a string specifying the path to the script file on disk, diff --git a/Help/release/3.26.rst b/Help/release/3.26.rst index 72ffad8cf5..97cf4264ea 100644 --- a/Help/release/3.26.rst +++ b/Help/release/3.26.rst @@ -42,6 +42,10 @@ File-Based API gained a new ``fileSets`` field and associated ``fileSetIndex`` field to ``sources`` objects. +* The :manual:`cmake-file-api(7)` "codemodel" version 2 "directory" + object ``installers`` field gained a new ``cxxModuleBmi`` installer type + and an associated ``cxxModuleBmiTarget`` field. + * The :manual:`cmake-file-api(7)` gained a new "configureLog" object kind that enables stable access to the :manual:`cmake-configure-log(7)`.