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