craftr-build / craftr-build-4.x

Frontend for the Craftr build framework.
https://craftr-build.github.io/craftr/
Other
60 stars 14 forks source link

JSON backend #1

Closed NiklasRosenstein closed 8 years ago

NiklasRosenstein commented 9 years ago

Example output from Meson (thanks to @winksaville)

[
  {
    "type": "static library",
    "id": ":L030@sta",
    "name": "L030",
    "filename": "libs\/L030\/libL030.a",
    "installed": false
  },
  {
    "type": "static library",
    "id": ":L080@sta",
    "name": "L080",
    "filename": "libs\/L080\/libL080.a",
    "installed": false
  },
  {
    "type": "executable",
    "id": ":testapp@exe",
    "name": "testapp",
    "filename": "apps\/testapp\/testapp",
    "installed": true
  },
  {
    "type": "static library",
    "id": ":L090@sta",
    "name": "L090",
    "filename": "libs\/L090\/libL090.a",
    "installed": false
  },
  {
    "type": "static library",
    "id": ":L010@sta",
    "name": "L010",
    "filename": "libs\/L010\/libL010.a",
    "installed": false
  },
  {
    "type": "static library",
    "id": ":L020@sta",
    "name": "L020",
    "filename": "libs\/L020\/libL020.a",
    "installed": false
  },
  {
    "type": "static library",
    "id": ":L040@sta",
    "name": "L040",
    "filename": "libs\/L040\/libL040.a",
    "installed": false
  },
  {
    "type": "static library",
    "id": ":L000@sta",
    "name": "L000",
    "filename": "libs\/L000\/libL000.a",
    "installed": false
  },
  {
    "type": "static library",
    "id": ":L060@sta",
    "name": "L060",
    "filename": "libs\/L060\/libL060.a",
    "installed": false
  },
  {
    "type": "static library",
    "id": ":L050@sta",
    "name": "L050",
    "filename": "libs\/L050\/libL050.a",
    "installed": false
  },
  {
    "type": "static library",
    "id": ":L070@sta",
    "name": "L070",
    "filename": "libs\/L070\/libL070.a",
    "installed": false
  }
]
NiklasRosenstein commented 9 years ago

Craftr won't be able to produce JSON output like this (at least for now) as it doesn't make any assumptions on what you're trying to build (ie. a static library or executable or whatever?) Also, in this format the input files and command line parameters are missing. The Meson developer said that this format is supposed to be used inside IDEs, but compatibility with IDEs should not be a goal of Craftr. The IDEs would make their own commands to generate the output file but in Craftr, you specify them manually or compute them.