Articles

Mikä on cmakessa ”projekti”?

projekti ryhmittelee loogisesti joukon kohteita (eli kirjastoja, suoritettavia ja muokattavia vaiheita) itsenäiseksi kokoelmaksi, joka voidaan rakentaa itse.

käytännössä se tarkoittaa, että jos on project komento CMakeLists.txt, pitäisi pystyä ajamaan CMake kyseisestä tiedostosta ja generaattorin tuottaa jotain rakennettavaa. Useimmissa koodibaasit, sinulla on vain yksi projekti per rakentaa.

Huomaa kuitenkin, että voit pesiä useita projekteja. Ylätason projekti voi sisältää alihakemiston, joka puolestaan on toinen itsenäinen projekti. Tällöin project – komento ottaa käyttöön lisätarkistuksen tietyille arvoille. Esimerkiksi PROJECT_BINARY_DIR muuttuja osoittaa aina nykyisen projektin juuribinaarihakemistoon. Vertaa tätä CMAKE_BINARY_DIR, joka osoittaa aina ylätason projektin binäärihakemistoon. Huomaa myös, että tietyt generaattorit voivat tuottaa lisätiedostoja projekteille. Esimerkiksi Visual Studio generaattorit luovat .sln ratkaisutiedoston jokaiselle aliprojektille.

käytä aliprojekteja, jos koodebaasi on hyvin monimutkainen ja tarvitset käyttäjiä rakentamaan tiettyjä komponentteja erikseen. Tämä antaa sinulle erittäin tehokas mekanismi jäsentää rakentaa järjestelmä. Koska lisääntynyt koodaus ja huolto yleiskustannukset tarvitaan tehdä useita alihankkeita todella itsenäinen, neuvoisin vain mennä tätä tietä, jos sinulla on todellinen käyttötapaus sitä. Jakaminen codebase eri kohteisiin pitäisi aina olla ensisijainen mekanismi jäsentää rakentaa, kun taas alihankinnat olisi varattava niitä harvoja tapauksia varten, joissa sinun todella täytyy tehdä osajoukko tavoitteita itsenäinen.

Vastaa

Sähköpostiosoitettasi ei julkaista.