A utility library to bridge llvm and mlir gaps.
NOTE: if using the vcpkg preset, VCPKG_ROOT must be set to the root directory of the vcpkg instance
cmake --preset ninja-multi-vcpkg
cmake --build --preset ninja-multi-vcpkg
Simply use cmake install infrastructure:
cmake -DCMAKE_INSTALL_PREFIX:PATH=<path> --build --preset ninja-multi-vcpkg --target install
where installation path might be for example ~/opt/gap.
To integrate into other cmake project simply include:
find_package(gap CONFIG REQUIRED)
and point cmake to gap install directory:
cmake -Dgap_DIR=~/opt/gap/lib/cmake/gap ...
ctest ./builds/ --preset ninja-multi-vcpkg
| Name | Version |
|---|---|
| Git | Latest |
| CMake | 3.21+ |
| Clang | 12+ |
| ccache | Latest |
Cmake takes care of downloading and building the vcpkg dependencies listed in vcpkg.json.
- pre-commit
pip install pre-commit - cmake-format
pip install cmakelangrecommended together with vscode cmake-format extension
-
Core GAP
- contracts
- error handling
- parsing
- logging
- coroutines
- ranges
- benchmarks
- data structures
- cmake utils
-
LLVM GAP
- ranges
- single context library (sc)
- monadic builders
-
MLIR GAP
- parser
- fmt
- single context library (sc)
- ranges
-
Any IR GAP
- serialize/deserialize uniform ir representation