mikor kell használni CMake clean / configure? szerkesztés
a CMake több információt tárol a CMakeCache.txt
fájlban. Ezek például azok a könyvtárak, ahol egy adott csomagot találtak, és a definíciókat a -D
használatával adták át.
néhány példa a --cmake-clean-cache
használatára:
- egy korábban talált csomagot újra kell keresni, mivel azt szeretné, hogy egy másik helyről keresse meg/használja
- olyan definíciót adott át, amely előtt már nem szeretné beállítani az előre haladást
a CMake automatikusan futtatja a configure lépést, ha bármely mellékelt CMake fájl megváltozott. De néha a logikája további/külső állapotoktól/fájloktól függ, és a configure lépés újbóli futtatásához CMake-re van szüksége. (Van mód arra, hogy elmondja a CMake-nek, hogy egy adott nem CMake fájl megváltoztatása újrakonfigurálást indít.) Tehát, ha szüksége van a configure lépés futtatni újra, de CMake nem teszi meg automatikusan akkor sem érintse meg, és tartalmazza CMake fájlt, vagy csak át --cmake-force-configure
.
az eset, amikor érdemes hivatkozni make clean
, hogy ellenőrizze, ha a kódot bármilyen fordító figyelmeztetések. Miután a forrás fájl már összeállították, hogy általában nem újrafordított, amíg (vagy bármely mellékelt fejlécek)) megváltozott. Ezen az első builden előfordulhat, hogy egy fordító figyelmeztetést lát, de egymást követő buildeken (feltételezve, hogy a fájlok nem változnak) nem látja újra a fordító figyelmeztetését. A --cmake-clean-first
átadása jó módja annak, hogy minden fájlt újrafordítsanak.
néha a build könyvtár további állapotokat tartalmaz a korábbi buildekből, amelyek befolyásolhatják a következő buildeket (például a csomag egy korábbi verziója létrehozott néhány fájlt a build könyvtárban). Ezeket nem lehet megtisztítani, és hatással lehet A következő építésekre, még akkor is, ha az őket létrehozó logika eltávolításra került. Tehát ez egy olyan eset lenne, amikor a teljes build
könyvtár törlése segítene.
egy másik eset, amelyet javasolnék a build
könyvtár törléséhez, az, amikor olyan problémába ütközik, amelyet nem ért. Az is, hogy reprodukálja a problémát egy friss építéssel, mielőtt egy jegyben jelentené. Kezdve egy friss épít lehet megoldani bármilyen kínos állapotban épült fel idővel / alapján, hogy mi történt a múltban.
ha van ccache
beállít egy teljes újjáépíteni nem olyan költséges, mivel sok a build leletek már cache előtt, így általában nem fog a teljes időt egy friss épít.