{"id":27940625,"url":"https://github.com/khronosgroup/openxr-hpp","last_synced_at":"2025-08-23T14:32:23.069Z","repository":{"id":45064690,"uuid":"209852134","full_name":"KhronosGroup/OpenXR-Hpp","owner":"KhronosGroup","description":"Open-Source OpenXR C++ language projection","archived":false,"fork":false,"pushed_at":"2024-09-05T19:08:38.000Z","size":6857,"stargazers_count":44,"open_issues_count":11,"forks_count":17,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-05-07T10:19:09.836Z","etag":null,"topics":["cplusplus-14","openxr","virtual-reality","vr"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KhronosGroup.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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,"zenodo":null}},"created_at":"2019-09-20T18:04:13.000Z","updated_at":"2025-04-04T03:12:39.000Z","dependencies_parsed_at":"2025-05-07T10:29:13.487Z","dependency_job_id":null,"html_url":"https://github.com/KhronosGroup/OpenXR-Hpp","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/KhronosGroup/OpenXR-Hpp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KhronosGroup%2FOpenXR-Hpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KhronosGroup%2FOpenXR-Hpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KhronosGroup%2FOpenXR-Hpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KhronosGroup%2FOpenXR-Hpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KhronosGroup","download_url":"https://codeload.github.com/KhronosGroup/OpenXR-Hpp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KhronosGroup%2FOpenXR-Hpp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271752100,"owners_count":24814745,"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","status":"online","status_checked_at":"2025-08-23T02:00:09.327Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cplusplus-14","openxr","virtual-reality","vr"],"created_at":"2025-05-07T10:19:07.891Z","updated_at":"2025-08-23T14:32:23.030Z","avatar_url":"https://github.com/KhronosGroup.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenXR-Hpp project\n\nThis repository contains build scripts and test files for the `openxr*.hpp`\nheaders, providing a C++-friendly projection of the OpenXR API.\n\nThe authoritative public repository is located at\n\u003chttps://github.com/KhronosGroup/OpenXR-HPP/\u003e. It hosts the public Issue\ntracker, and accepts patches (Pull Requests) from the general public.\n\nIf you want to simply write an application using OpenXR (the headers and\nloader), with minimum dependencies, see\n\u003chttps://github.com/KhronosGroup/OpenXR-SDK/\u003e. That project will likely contain\nthe `openxr*.hpp` artifact when it is ready for widespread production usage.\n\nTo build this project, you must have `OpenXR-SDK-Source` cloned in a peer\ndirectory of this one.\n\n## Directory Structure\n\n- `README.md` - This file\n- `COPYING.md` - Copyright and licensing information\n- `CODE_OF_CONDUCT.md` - Code of Conduct\n- `OPENXR-HPP.md` - Some basic introductory documentation\n- `include/` - Build system to generate the `openxr*.hpp` files\n- `scripts/` - Python source code and Jinja2 templates for generating the\n  headers.\n- `tests/` - some simple files that ensures the header is always compilable.\n\n## Building\n\n### Install clang-format\n\nRequires clang-format, preferably 6.0.\n\n### Download OpenXR-Hpp\n\n```shell\ngit clone https://github.com/KhronosGroup/OpenXR-Hpp.git\n```\n\n### Download OpenXR-SDK-Source\n\n```shell\ngit clone https://github.com/KhronosGroup/OpenXR-SDK-Source.git\n```\n\nWe need to place the OpenXR-SDK-Source in the same directory\nof OpenXR-Hpp as it uses Python script of OpenXR-SDK-Source.\n\nIf your OpenXR-SDK-Source (or internal gitlab) repo\nisn't in a directory named that parallel to OpenXR-Hpp, you can set `OPENXR_REPO`\nenvironment variable before running.\n\n### Run script to generate hpp files\n\nRun un `./generate-openxr-hpp.sh` or `./generate-openxr-hpp.ps1`. \n\n### Run tests\n\nIf you'd like to build the tests (making sure the headers can compile),\nuse CMake to generate a build system, like:\n\n```sh\nmkdir build\ncd build\ncmake ..\nmake\n```\n\n## Development\n\nTo improve/maintain consistent code style and code quality, we strongly\nrecommend setting up the pre-commit hooks, which check/correct:\n\n- large file additions\n- byte-order marker\n- case conflicts\n- unresolved merge conflicts\n- broken symlinks\n- file endings\n- line endings\n- trailing whitespace\n- autopep8\n- [cmake-format][]\n\nUsing these hooks involves the following steps:\n\n**Install** [pre-commit][] - available thru pip or your\npreferred package manager.\n\n```sh\npython3 -m pip install --user pre-commit\n```\n\n**Setup** the git hook scripts by running this script. This will configure the\ncurrent git repo working directory to run the hooks, as well as cloning and\nbuilding (if required) the various tools used by the hooks.\n\n```sh\npre-commit install\n```\n\nOptionally, you can **run** the hooks over all files manually, before a commit:\n\n```sh\npre-commit run --all-files\n```\n\n[cmake-format]: https://cmake-format.readthedocs.io\n[pre-commit]: https://pre-commit.com/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhronosgroup%2Fopenxr-hpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkhronosgroup%2Fopenxr-hpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhronosgroup%2Fopenxr-hpp/lists"}