)]}'
{
  "commit": "032d5844c2db412e25f780c6acf95ecc7a0b7975",
  "tree": "e478d80261b67aa3eaec5f8f3543e539b3f186f5",
  "parents": [
    "d82de91b8881c77d1cee5b0e07286c43e0f71a73"
  ],
  "author": {
    "name": "Darius Rueckert",
    "email": "darius.rueckert@fau.de",
    "time": "Tue Dec 10 16:39:08 2019 +0100"
  },
  "committer": {
    "name": "Darius Rueckert",
    "email": "darius.rueckert@fau.de",
    "time": "Thu Feb 13 13:57:14 2020 +0100"
  },
  "message": "AutoDiff Code Generation - CMake Integration\n\nThis patch integrates the code generation module into the build\nsystem. All depenendcies are tracked through CMake targets.\nModifying the cost functor will automatically trigger code\nre-generation.\n\nAll this functionality is defined in the CMake function\nceres_generate_cost_function_implementation_for_functor\nin CeresCodeGeneration.cmake. A hello world usage example\nis included in examples/CMakeLists.txt.\n\nChange-Id: I23b8b6698d1ea51cf3d788a47afcf39f8c5ce327\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f11e57942feca0a32f02c7b6af055996b8bd505e",
      "old_mode": 33188,
      "old_path": "CMakeLists.txt",
      "new_id": "9bd1e90fdbbb03e2368a21fd4e81cab6836c94c5",
      "new_mode": 33188,
      "new_path": "CMakeLists.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f3819ce7913a631381da3980b75c49f55f740b06",
      "new_mode": 33188,
      "new_path": "cmake/CeresCodeGeneration.cmake"
    },
    {
      "type": "modify",
      "old_id": "ced7dafcbd90a72b2ee4a963a0f628d65a818f81",
      "old_mode": 33188,
      "old_path": "cmake/CeresConfig.cmake.in",
      "new_id": "fd84dd2376a97d7853cf8ebf9e89ecd6ff43b577",
      "new_mode": 33188,
      "new_path": "cmake/CeresConfig.cmake.in"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f52485bbbb60c7d21eecdc937404dee989d60d5d",
      "new_mode": 33188,
      "new_path": "cmake/codegen_include.inc.in"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2ae264033b76bb672319626cb3aadf62c4e1b031",
      "new_mode": 33188,
      "new_path": "cmake/generate_code_for_functor.cc.in"
    },
    {
      "type": "modify",
      "old_id": "e2f4df4d11eaca761a100fee779061832ffb9e59",
      "old_mode": 33188,
      "old_path": "examples/CMakeLists.txt",
      "new_id": "f185d19b14285367ee2405ad455b4195e7375207",
      "new_mode": 33188,
      "new_path": "examples/CMakeLists.txt"
    },
    {
      "type": "copy",
      "old_id": "7813ac4518e14a40c6b520e589401d77f5316a90",
      "old_mode": 33188,
      "old_path": "examples/autodiff_codegen.cc",
      "new_id": "6aa079204cc50bc0d8201e851a7bcc3a24ea3ec3",
      "new_mode": 33188,
      "new_path": "examples/helloworld_codegen.cc",
      "score": 69
    },
    {
      "type": "rename",
      "old_id": "7813ac4518e14a40c6b520e589401d77f5316a90",
      "old_mode": 33188,
      "old_path": "examples/autodiff_codegen.cc",
      "new_id": "764d6c7ab139b0df908276eb8fc6b313525fb5e9",
      "new_mode": 33188,
      "new_path": "examples/helloworld_cost_function.h",
      "score": 72
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "57df0881d72d1be941d4316892ef9d801befb7f7",
      "new_mode": 33188,
      "new_path": "include/ceres/codegen/codegen_cost_function.h"
    },
    {
      "type": "rename",
      "old_id": "0a2a65d057576c1aad955df594349d31611668f9",
      "old_mode": 33188,
      "old_path": "include/ceres/codegen/autodiff.h",
      "new_id": "31ccdb22b57d35ea47a1134c260ee1be2b32f35a",
      "new_mode": 33188,
      "new_path": "include/ceres/codegen/generate_code_for_functor.h",
      "score": 88
    }
  ]
}
