{"id":20267120,"url":"https://github.com/lifting-bits/gap","last_synced_at":"2025-09-09T19:27:04.088Z","repository":{"id":41832353,"uuid":"437907953","full_name":"lifting-bits/gap","owner":"lifting-bits","description":"A utility library to bridge llvm and mlir gaps.","archived":false,"fork":false,"pushed_at":"2025-01-08T09:38:59.000Z","size":370,"stargazers_count":13,"open_issues_count":6,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-11T03:40:14.121Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/lifting-bits.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":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-12-13T14:37:49.000Z","updated_at":"2025-02-03T16:57:24.000Z","dependencies_parsed_at":"2024-03-12T19:49:28.207Z","dependency_job_id":"603c37f9-7e21-4e62-b661-55d1ba57c8b8","html_url":"https://github.com/lifting-bits/gap","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lifting-bits/gap","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lifting-bits%2Fgap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lifting-bits%2Fgap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lifting-bits%2Fgap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lifting-bits%2Fgap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lifting-bits","download_url":"https://codeload.github.com/lifting-bits/gap/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lifting-bits%2Fgap/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274348786,"owners_count":25268972,"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-09-09T02:00:10.223Z","response_time":80,"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":[],"created_at":"2024-11-14T12:13:18.503Z","updated_at":"2025-09-09T19:27:04.054Z","avatar_url":"https://github.com/lifting-bits.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build and Test](https://github.com/lifting-bits/gap/actions/workflows/build.yml/badge.svg)](https://github.com/lifting-bits/gap/actions/workflows/build.yml)\n\n# GAP\nA utility library to bridge llvm and mlir gaps.\n\n## Build \u0026 Configure\nNOTE: if using the vcpkg preset, `VCPKG_ROOT` must be set to the root directory of the vcpkg instance\n\n```\ncmake --preset ninja-multi-vcpkg\n```\n\n```\ncmake  --build --preset ninja-multi-vcpkg\n```\n\n## Install \u0026 Integrate\n\nSimply use cmake install infrastructure:\n\n```\ncmake -DCMAKE_INSTALL_PREFIX:PATH=\u003cpath\u003e --build --preset ninja-multi-vcpkg --target install\n```\n\nwhere installation path might be for example `~/opt/gap`.\n\nTo integrate into other `cmake` project simply include:\n\n```\nfind_package(gap CONFIG REQUIRED)\n```\n\nand point `cmake` to `gap` install directory:\n\n```\ncmake -Dgap_DIR=~/opt/gap/lib/cmake/gap ...\n```\n\n## Test\n\n```\nctest ./builds/ --preset ninja-multi-vcpkg\n```\n\n## Dependencies\n\n| Name | Version |\n| ---- | ------- |\n| [Git](https://git-scm.com/) | Latest |\n| [CMake](https://cmake.org/) | 3.21+ |\n| [Clang](http://clang.llvm.org/) | 12+ |\n| [ccache](https://ccache.dev/) | Latest |\n\nCmake takes care of downloading and building the vcpkg dependencies listed in `vcpkg.json`.\n\n## Dependencies for development\n\n- [pre-commit](https://pre-commit.com/) `pip install pre-commit`\n- [cmake-format](https://cmake-format.readthedocs.io/en/latest/) `pip install cmakelang`\n  recommended together with vscode cmake-format extension\n  \n## Structure\n\n1. __Core GAP__\n\n    - contracts\n    - error handling\n    - parsing\n    - logging\n    - coroutines\n    - ranges\n    - benchmarks\n    - data structures\n    - cmake utils\n\n2. __LLVM GAP__\n\n    - ranges\n    - single context library (sc)\n    - monadic builders\n\n3. __MLIR GAP__\n\n    - parser\n    - fmt\n    - single context library (sc)\n    - ranges\n\n4. __Any IR GAP__\n\n    - serialize/deserialize uniform ir representation\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flifting-bits%2Fgap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flifting-bits%2Fgap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flifting-bits%2Fgap/lists"}