From a3b5591bbcd658b061830bc5e5dc803d65f8a8c8 Mon Sep 17 00:00:00 2001 From: Tyler Yankee Date: Tue, 23 Jun 2026 08:36:13 -0400 Subject: [PATCH] fileapi: Omit NONE language entries from toolchains Fixes: #27885 --- Source/cmFileAPIToolchains.cxx | 3 +++ Tests/RunCMake/FileAPI/toolchains-v1-check.py | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/Source/cmFileAPIToolchains.cxx b/Source/cmFileAPIToolchains.cxx index 498bf359ca..1e6ecfdfad 100644 --- a/Source/cmFileAPIToolchains.cxx +++ b/Source/cmFileAPIToolchains.cxx @@ -66,6 +66,9 @@ Json::Value Toolchains::DumpToolchains() for (std::string const& lang : this->FileAPI.GetCMakeInstance()->GetState()->GetEnabledLanguages()) { + if (lang == "NONE") { + continue; + } toolchains.append(this->DumpToolchain(lang)); } diff --git a/Tests/RunCMake/FileAPI/toolchains-v1-check.py b/Tests/RunCMake/FileAPI/toolchains-v1-check.py index 11a723d7ba..619188c3a8 100644 --- a/Tests/RunCMake/FileAPI/toolchains-v1-check.py +++ b/Tests/RunCMake/FileAPI/toolchains-v1-check.py @@ -48,14 +48,18 @@ def check_object_toolchains(o): # Other platform-specific toolchains may exist (like RC on Windows). has_cxx_toolchain = False + has_none_toolchain = False for toolchain in toolchains: assert is_dict(toolchain) assert "language" in toolchain if toolchain["language"] == "CXX": check_object_toolchain(toolchain, EXPECTED_TOOLCHAIN) has_cxx_toolchain = True + if toolchain["language"] == "NONE": + has_none_toolchain = True assert has_cxx_toolchain + assert not has_none_toolchain def check_object_toolchain(o, expected): expected_keys = [