)]}'
{
  "commit": "a647cddd4e9f44c033eeb1d423e1bf86c6c198c1",
  "tree": "513839dd7cf686f044de86af0a19352fb022ffc9",
  "parents": [
    "95ebcb3643d4573425aa78a042496a133fb322a3"
  ],
  "author": {
    "name": "Henry Schreiner",
    "email": "HenrySchreinerIII@gmail.com",
    "time": "Mon Jul 27 09:41:15 2026 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Jul 27 09:41:15 2026 -0400"
  },
  "message": "fix(cmake): respect explicit PYBIND11_USE_CROSSCOMPILING under CMP0190 (#6094)\n\n* fix(cmake): respect explicit PYBIND11_USE_CROSSCOMPILING under CMP0190\n\nPR #5829 added `AND NOT DEFINED CMAKE_CROSSCOMPILING_EMULATOR` to the\ncondition setting `_PYBIND11_CROSSCOMPILING`. That gate was meant to only\ncontrol the auto-default of `PYBIND11_USE_CROSSCOMPILING`, but it ended up\noverriding a value the project set explicitly. Emscripten/Pyodide defines\n`CMAKE_CROSSCOMPILING_EMULATOR` (node) yet still wants cross-compiling\nmode, so the flag was forced OFF and the build failed with a spurious\n\"Cannot run the interpreter\" / pointer-size mismatch.\n\nMove the emulator check up so it only guards the auto-default, and never\noverride an explicitly set `PYBIND11_USE_CROSSCOMPILING`.\n\nFixes #6043\n\nAssisted-by: ClaudeCode:claude-opus-4.8\n\n* fix(cmake): keep CMP0190 auto-default in add_subdirectory builds\n\nThe previous commit\u0027s `NOT DEFINED PYBIND11_USE_CROSSCOMPILING` guard\nbroke the intended auto-default for top-level / add_subdirectory builds:\nCMakeLists.txt runs `option(PYBIND11_USE_CROSSCOMPILING ... OFF)` before\nincluding pybind11Common.cmake, so the variable is already defined (OFF)\nand the CMP0190 default never applied.\n\nCapture, before the option() call, whether the project set the value\nitself, and let pybind11Common.cmake apply its default unless the value\nwas set explicitly. This keeps both the emulator override fix and the\nCMP0190 auto-default for subdirectory consumers.\n\nAssisted-by: ClaudeCode:claude-opus-4.8",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5e72afcf3189c48366bd620c11e69171329cfc93",
      "old_mode": 33188,
      "old_path": "CMakeLists.txt",
      "new_id": "6f3f8beb2bb5a90e1e02ec0c134d2d23553e7e8d",
      "new_mode": 33188,
      "new_path": "CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "f525270564b910540ad257cf9ea385e869c6da96",
      "old_mode": 33188,
      "old_path": "tools/pybind11Common.cmake",
      "new_id": "d75fb675205dd0f1425f07841ff2a0fbd52d5509",
      "new_mode": 33188,
      "new_path": "tools/pybind11Common.cmake"
    }
  ]
}
