{"id":21812587,"url":"https://github.com/protongraph/environment","last_synced_at":"2025-06-14T21:32:25.883Z","repository":{"id":108170488,"uuid":"279047101","full_name":"protongraph/environment","owner":"protongraph","description":"Contains the export templates and custom engine binaries necessary  to export ConceptGraph","archived":false,"fork":false,"pushed_at":"2021-02-11T11:08:10.000Z","size":245330,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-07T02:12:51.326Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/protongraph.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-12T11:08:25.000Z","updated_at":"2022-06-09T15:30:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"f606a7fd-dafd-444c-bfaf-cda818033a4c","html_url":"https://github.com/protongraph/environment","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/protongraph/environment","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protongraph%2Fenvironment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protongraph%2Fenvironment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protongraph%2Fenvironment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protongraph%2Fenvironment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/protongraph","download_url":"https://codeload.github.com/protongraph/environment/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/protongraph%2Fenvironment/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259887263,"owners_count":22926892,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-27T14:18:35.219Z","updated_at":"2025-06-14T21:32:25.848Z","avatar_url":"https://github.com/protongraph.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Custom engine builds for ProtonGraph\n\n**This is a dev repository.** If you are simply looking for the latest releases\nof ProtonGraph, you can find them at this address:\nhttps://github.com/protongraph/protongraph\n\n**If you're trying to build the application yourself, keep reading.**\n\n\nProtonGraph is a \"Godot game\" as it was made using this engine. It is built on\n**Godot 3.2.3** (at least) with a custom module that handle gltf import and\nexport. This means the export templates need to be recompiled as well.\n\nThis won't be necessary once we move to Godot 4.0 but until this next version\nis stable, we'll remain on 3.2.x.\n\n## Automated builds\n\nThe goal of this repository is to compile the custom engine and all the\nexport templates automatically for all three platforms (Linux, Windows and MacOS).\nThis is done through Github Actions and the binaries are then stored in their\nown release. The ProtonGraph CI can fetch these binaries and use them to export\nthe project to all three platforms.\n\nIf you're developping new features for ProtonGraph and can't build the engine,\nyou can download the binaries directly from here.\n\n\n## Building manually\n\n### Install dependencies\n\nRefer to this page depending on which OS you're using\nhttps://docs.godotengine.org/en/stable/development/compiling/index.html\n\n\n### Get all the repositories\n\n+ Clone ProtonGraph\n  - The master branch is usually the latest stable release\n  - develop is the bleeding edge, untested version\n\n```\ngit clone --recurse-submodules https://github.com/protongraph/protongraph\n```\n\n+ Clone the engine repository and make sure you're on the **3.2 branch**\n```\ngit clone --branch 3.2 https://github.com/godotengine/godot\n```\n\n+ Go in the module folders and clone the extra modules\n+ The gltf module default to the 4.0 branch but we want the master one\n```\ncd godot/modules\ngit clone --branch master https://github.com/godot-extended-libraries/gltf\n```\n\n\n### Compile the engine\n\n+ Go back to the godot folder and launch this command.\n  - Replace `x11` by your desired platform `x11 | windows | osx`\n  - Feel free to increase the thread count if your CPU can handle it.\n```\nscons -j8 platform=x11\n```\n\n+ **Note about binaries size:**\n  - Everytime you compile something with scons, you can chose to omit the\n  debug symbols with the option `debug_symbols=no`. This creates significantly\n  smaller binaries, at the expense of having a completely useless stack trace\n  if something crashes.\n\n### Compile the export templates\n\n+ Still in the godot folder, launch the following commands\n  - Replace `x11` by your desired platform `x11 | windows | osx`\n  - Replace `bits=64` by `bits=32` if you're targetting an older 32bit hardware.\n\n```\nscons platform=x11 tools=no target=release_debug bits=64\nscons platform=x11 tools=no target=release bits=64\n```\n\n### Compile the GDNative libraries\n+ In ProtonGraph repository folder\n``` bash\ncd src/native\n\n# edit the following command to use the proper platform\n./compile_all.sh linux release\n```\n\n### Export the project\n\n#### Using the command line\n+ Make sure the export preset contains the path to the export templates,\n  relative to the project directory.\n+ Call this command with the proper parameters:\n  - `godot.x11.tools.64` is the editor binary.\n  Replace with the one matching your platform.\n  - `-export \"linux\"` linux is the name of the preset. Pick one among `linux`,\n  `osx` and `windows`. They're defined in `export_preset.cfg`.\n  - `build/ProtonGraph` is the name of the exported binary. Make sure the\n  destination folder exists before running the command.\n```\n./godot.tools.64 --path path/to/project --export \"linux\" \"build/ProtonGraph\"\n```\n\n\n#### Using the GUI\n\n+ Start your custom engine binary (located in `godot/bin`)\n+ Open the ProtonGraph project\n+ Click **Project \u003e Export**\n+ Select the preset matching your target platform\n+ Select an export path. This is where the final executable will be created\n\n![image](https://user-images.githubusercontent.com/52043844/88791147-8896b100-d199-11ea-84e5-f2ae1bdaf107.png)\n\n+ Assign the two export templates in the bottom right of the **Options** tab\n  - Export templates are also located in `godot/bin`\n+ Click on **Export Project**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprotongraph%2Fenvironment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprotongraph%2Fenvironment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprotongraph%2Fenvironment/lists"}