Skip to content

The subgine package manager. Currently at the stage of a proof of concept.

License

Notifications You must be signed in to change notification settings

gracicot/subgine-pkg

Repository files navigation

subgine-pkg

Join the chat at https://gitter.im/gracicot/subgine-pkg

The subgine package manager. A proof of concept package manager we used in our game engine named subgine.

Can resolve dependencies recursively. Does not attempt to solve the diamond problem for the moment.

Explanation of implementation in this blog post: I made a package manager using CMake

Here's an example sbg-manifest.json file:

{
  "installation-path": "subgine-pkg-modules",
  "dependencies": [
    {
      "name": "kangaru",
      "repository": "https://github.com/gracicot/kangaru.git",
      "options": "-DKANGARU_REVERSE_DESTRUCTION=On",
      "tag": "v4.2.0"
    },
    {
      "name": "cpplocate",
      "repository": "https://github.com/cginternals/cpplocate.git",
      "tag": "v2.1.0",
      "options": "-DOPTION_BUILD_TESTS=Off -DBUILD_SHARED_LIBS=Off",
      "ignore-version": true
    },
    {
      "name": "Catch2",
      "repository": "https://github.com/catchorg/Catch2.git",
      "branch": "master",
      "options": "-DCATCH_BUILD_TESTING=Off -DCATCH_INSTALL_DOCS=Off",
      "version": "v2.9.1"
    }
  ]
}

Try it using the user test sample.