)]}'
{
  "commit": "fa10dc6c223531d79bbf7465a71fbd05f08c896a",
  "tree": "0c5ffaa5092142ca5df28844cd68f1c25d1a81c4",
  "parents": [
    "6087f56da9874b1061d3915d9fa87963ffd211c7"
  ],
  "author": {
    "name": "Vito Gamberini",
    "email": "vito.gamberini@kitware.com",
    "time": "Tue Oct 21 15:55:19 2025 -0400"
  },
  "committer": {
    "name": "Vito Gamberini",
    "email": "vito.gamberini@kitware.com",
    "time": "Tue Nov 18 11:39:59 2025 -0500"
  },
  "message": "Experimental/CXXModules: Implement EcoStd Module Metadata parser\n\nAdds a parser and serializer for the EcoStd Module Metadata format\n\nRFC: https://github.com/ecostd/rfcs/pull/3\n\nThis adapts the existing experimental support for import std; to use\nthe new parser. The CMAKE_CXX_STDLIB_MODULES_JSON is now the canonical\nvariable for controlling how CMake discovers the stdlib module metadata,\nand is used directly by compiler detection.\n\nToolchains can still override the __CMAKE::CXX## targets if they wish,\neither in conjunction with CMAKE_CXX_STDLIB_MODULE_JSON or not. It is\npossible to disable automatic detection of\nCMAKE_CXX_STDLIB_MODULE_JSON by setting it to the empty string.\n\nWhen available, the CMAKE_CXX_STDLIB_MODULE_JSON will be used to create\nall requested C++ stdlibs which do not already have targets.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8e2e3d643edf4e59f0770d5ebb16ad9c8aeb90c6",
      "old_mode": 33188,
      "old_path": "Modules/CMakeCXXCompiler.cmake.in",
      "new_id": "677402bd9e07f03755e5a296f36c8a6aac5cffaa",
      "new_mode": 33188,
      "new_path": "Modules/CMakeCXXCompiler.cmake.in"
    },
    {
      "type": "modify",
      "old_id": "c22bf07b45c001932ba861426c402ad52eaa43fc",
      "old_mode": 33188,
      "old_path": "Modules/CMakeDetermineCompilerSupport.cmake",
      "new_id": "512a1c4155801963ef56d897f8a83a2c5ac9c331",
      "new_mode": 33188,
      "new_path": "Modules/CMakeDetermineCompilerSupport.cmake"
    },
    {
      "type": "modify",
      "old_id": "067aa6f0cad1ea46b8100e94b4b6eb5d55f1622a",
      "old_mode": 33188,
      "old_path": "Modules/Compiler/CMakeCommonCompilerMacros.cmake",
      "new_id": "a97fe0fe54ea10222f955eaa1921cc7792392392",
      "new_mode": 33188,
      "new_path": "Modules/Compiler/CMakeCommonCompilerMacros.cmake"
    },
    {
      "type": "modify",
      "old_id": "9061e006f76d6393d4665fbb37944385ffc15031",
      "old_mode": 33188,
      "old_path": "Modules/Compiler/Clang-CXX-CXXImportStd.cmake",
      "new_id": "4099a35e6892cc97b35f7a1919012fcfb69b2901",
      "new_mode": 33188,
      "new_path": "Modules/Compiler/Clang-CXX-CXXImportStd.cmake"
    },
    {
      "type": "modify",
      "old_id": "834e99912ed770f783dc6eacf84da84c13d608c1",
      "old_mode": 33188,
      "old_path": "Modules/Compiler/GNU-CXX-CXXImportStd.cmake",
      "new_id": "08d6273217535a5f51972be6975e85253e09368d",
      "new_mode": 33188,
      "new_path": "Modules/Compiler/GNU-CXX-CXXImportStd.cmake"
    },
    {
      "type": "modify",
      "old_id": "ff012632460b0c27f23c0293b3a9051436a2dbd7",
      "old_mode": 33188,
      "old_path": "Modules/Compiler/MSVC-CXX-CXXImportStd.cmake",
      "new_id": "733b31beda37e492824ce4c15bcc6e8e596d7e5c",
      "new_mode": 33188,
      "new_path": "Modules/Compiler/MSVC-CXX-CXXImportStd.cmake"
    },
    {
      "type": "modify",
      "old_id": "4756bac131fd59a130a88fbe401e2d9e7efb9276",
      "old_mode": 33188,
      "old_path": "Source/CMakeLists.txt",
      "new_id": "1aacabcc5c2426ef3c2244158621ad82de8164ec",
      "new_mode": 33188,
      "new_path": "Source/CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b090305f3a6988e54c8127f66c7b4ee3aa61c896",
      "new_mode": 33188,
      "new_path": "Source/cmCxxModuleMetadata.cxx"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "60769b83379aebc2e171f8201dedfe170cb9266c",
      "new_mode": 33188,
      "new_path": "Source/cmCxxModuleMetadata.h"
    },
    {
      "type": "modify",
      "old_id": "3ff37b8df14a6bbcbb67a73f9fb91878664e731b",
      "old_mode": 33188,
      "old_path": "Source/cmGeneratorTarget.cxx",
      "new_id": "74eca71b74bc7c152eb094184cba2baf9a7b5c96",
      "new_mode": 33188,
      "new_path": "Source/cmGeneratorTarget.cxx"
    },
    {
      "type": "modify",
      "old_id": "4c40e9316d57cba6f73768c7b5abe9567ec1c674",
      "old_mode": 33188,
      "old_path": "Source/cmGlobalGenerator.cxx",
      "new_id": "7dc9705845ac2078976e94a39d665501a860b966",
      "new_mode": 33188,
      "new_path": "Source/cmGlobalGenerator.cxx"
    },
    {
      "type": "modify",
      "old_id": "2913c879ae2c1f257c3a9b344a7d4f4ab076fcf3",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/CXXModules/Inspect.cmake",
      "new_id": "702e349e235a0432a45fc4ef02e8baf111160740",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/CXXModules/Inspect.cmake"
    },
    {
      "type": "modify",
      "old_id": "fd09dfa3949c3009540c8e8ecd863bdd82203718",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/CXXModules/NoCXX23TargetRequired-stderr.txt",
      "new_id": "48a8b9480ff117b3b0911510147e01cafd695753",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/CXXModules/NoCXX23TargetRequired-stderr.txt"
    },
    {
      "type": "modify",
      "old_id": "836b39be39bf19e44ae46fdf714459b49e722e30",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/CXXModules/NoCXX26TargetRequired-stderr.txt",
      "new_id": "b45b04e0d2769367d68be421d2d72a7d7679f781",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/CXXModules/NoCXX26TargetRequired-stderr.txt"
    },
    {
      "type": "modify",
      "old_id": "583556f56fe772b7570c6c6451fbaa6b75a8a10b",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/CXXModulesCompile/imp-std-exp-no-std-build-stderr.txt",
      "new_id": "f7d285878e0b8aad6cf71fb51481a2267341631f",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/CXXModulesCompile/imp-std-exp-no-std-build-stderr.txt"
    },
    {
      "type": "modify",
      "old_id": "583556f56fe772b7570c6c6451fbaa6b75a8a10b",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/CXXModulesCompile/imp-std-exp-no-std-install-stderr.txt",
      "new_id": "f7d285878e0b8aad6cf71fb51481a2267341631f",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/CXXModulesCompile/imp-std-exp-no-std-install-stderr.txt"
    },
    {
      "type": "modify",
      "old_id": "583556f56fe772b7570c6c6451fbaa6b75a8a10b",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/CXXModulesCompile/imp-std-no-std-prop-stderr.txt",
      "new_id": "f7d285878e0b8aad6cf71fb51481a2267341631f",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/CXXModulesCompile/imp-std-no-std-prop-stderr.txt"
    },
    {
      "type": "modify",
      "old_id": "583556f56fe772b7570c6c6451fbaa6b75a8a10b",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/CXXModulesCompile/imp-std-not-in-exp-build-stderr.txt",
      "new_id": "f7d285878e0b8aad6cf71fb51481a2267341631f",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/CXXModulesCompile/imp-std-not-in-exp-build-stderr.txt"
    },
    {
      "type": "modify",
      "old_id": "583556f56fe772b7570c6c6451fbaa6b75a8a10b",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/CXXModulesCompile/imp-std-not-in-exp-install-stderr.txt",
      "new_id": "f7d285878e0b8aad6cf71fb51481a2267341631f",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/CXXModulesCompile/imp-std-not-in-exp-install-stderr.txt"
    },
    {
      "type": "modify",
      "old_id": "583556f56fe772b7570c6c6451fbaa6b75a8a10b",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/CXXModulesCompile/imp-std-stderr.txt",
      "new_id": "f7d285878e0b8aad6cf71fb51481a2267341631f",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/CXXModulesCompile/imp-std-stderr.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f7d285878e0b8aad6cf71fb51481a2267341631f",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/CXXModulesCompile/imp-std-trans-exp-no-std-build-stderr.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f7d285878e0b8aad6cf71fb51481a2267341631f",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/CXXModulesCompile/imp-std-trans-exp-no-std-install-stderr.txt"
    },
    {
      "type": "modify",
      "old_id": "583556f56fe772b7570c6c6451fbaa6b75a8a10b",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/CXXModulesCompile/imp-std-trans-not-in-exp-build-stderr.txt",
      "new_id": "f7d285878e0b8aad6cf71fb51481a2267341631f",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/CXXModulesCompile/imp-std-trans-not-in-exp-build-stderr.txt"
    },
    {
      "type": "modify",
      "old_id": "583556f56fe772b7570c6c6451fbaa6b75a8a10b",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/CXXModulesCompile/imp-std-trans-not-in-exp-install-stderr.txt",
      "new_id": "f7d285878e0b8aad6cf71fb51481a2267341631f",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/CXXModulesCompile/imp-std-trans-not-in-exp-install-stderr.txt"
    },
    {
      "type": "modify",
      "old_id": "ca3871d7ea3cc995ed0a35d5aec3abec92bd7b71",
      "old_mode": 33188,
      "old_path": "Tests/RunCMake/property_init/CompileSources.cmake",
      "new_id": "fe2b0fb287aa12f075db36c7315c7453fb44c5ef",
      "new_mode": 33188,
      "new_path": "Tests/RunCMake/property_init/CompileSources.cmake"
    }
  ]
}
