= cg3 :icons: font
image::https://api.cirrus-ci.com/github/bodand/cg3.svg[]
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ő:
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] == 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:
Telepíteni lehetséges a következő parancssal:
Előre fordított csomagok készítése folyamatban van.