Skip to content

bodand/cg3

Repository files navigation

cg3

cg3

Prog1 nagy házi sanity-check framework.

A clang AST-t felhasználva ellenőrzéseket hajt végre, a különböző követelmények teljesítésére. Ezek fordítási időben eldönthetőek, hogy melyiket fordítjuk bele a programba.

Ellenőrzések

A mindenkori verzióban elérhető ellenőrzések a checks/ mappában találhatóak meg. Ezekhez a részletesebb leírás a saját mappájuk README fájljában látható.

Installation

GitHub Release

GitHub Release-ben elérhetőek bináris csomagok különböző féle-fajta operációs rendszerekre és processzor architektúrákra. Ezek egyszerűen telepíthetőek, és nem igényelnek egyéb műveletet.

GitHub

Bleeding edge

Jelenleg cg3 forrása elérhető GitHubról, és ezáltal következő parancssal letölthető:

$ git clone --recursive https://github.com/bodand/cg3

A projekt fordításához a Building részben leírtakat érdemes átolvasni.

Release sources

Release forráscsomag elérhetőek szintén a különböző releasekhez. Ezek fordítása várhatólag azonos a legfrissebb fejlesztői verzió fordításával, azaz a Building részben tárgyaltakkal, de pontos információkért a letöltött csomag README.adoc fájljával kell konzultálni.

Note
Bár elég fontosnak tartom, hogy minden projekt a triviális fordítási lépésekkel lefordítható legyen, akár ha ez esetenként jóval elbonyolíthatja a CMake szkripteket, nem tudom garantálni, hogy a különböző verziók pontosan ugyan azzak az inkarncáióval fordulnak. Ezért érdemes, mindig megnézni a README.adoc fájlt, hátha van benne valami hasznos információ.

Building

Az egész projektnek egyben kellene fordulna as-is, CMake, vcpkg által támogatott rendszereket, és ahol LLVM is lefordul.

Mivel a projekt fordít magának egy LLVM-et és egy Clang-ot, így az első fordítást érdemes olyankor indítani, amikor nem lenne sok szükség a gépünkre. A tényleges függőségek a vcpkg.json fájlban találhatóak, és vcpkg manifest módját használva automatikusan telepítésre kerülnek. Jelenleg a telepíthető csomagok készítéséhez szükséges tooling nem tudja biztosítani a megfelelő működést rendszerben talált csomagok esetén, így nem lehet előre buildelt használni a buildhez. Ennek megoldása folyamatban van.

Ezek ismeretében triviálisan fordítható a következő parancsokkal:

$ cmake -S. -B_build -DCMAKE_BUILD_TYPE=Release
$ cmake --build _build

Telepíteni lehetséges a következő parancssal:

$ cmake --install _build

Előre fordított csomagok készítése folyamatban van.