Komme i gang med CMake og cpack på Linux

Komme i gang med CMake og cpack på Linux
“CMake er et populært og nyttig tverrplattform, open source-sett med verktøy som bruker kompilator- og plattformuavhengige konfigurasjonsfiler for å bygge, teste og pakke prosjekter. CMake ble utviklet som løsningen for et byggplass for plattformer for open source-prosjekter.

Cpack er et emballasjeverktøy som er på tvers av plattformer og distribuert av CMake. Imidlertid kan det brukes uavhengig av CMake, men den bruker generatorkonsepter fra CMake Suite -verktøyet.

Denne guiden dekker installasjon og bruk av CMake og CPACK.”

Hvordan installere CMake

Du kan installere CMake via kommandolinjen eller Ubuntu Software Center. I dette tilfellet vil vi installere det via kommandolinjen, men du kan sjekke de komplette CMake -installasjonsmetodene for mer informasjon.

Oppdater først depotet ditt.

$ sudo apt-get oppdatering

Deretter skriver du inn kommandoen nedenfor for å installere CMake.

$ sudo snap install cmake - -classic

Du kan bekrefte installasjonen ved å sjekke versjonen.

$ Cmake -Versjon

Bruke CMake for å konfigurere, bygge og feilsøke et C ++ -prosjekt på Linux

CMake er populær for å administrere kodebygg for C ++ -prosjekter, og det gjør det ved hjelp av CMakelists.tekst Filer for hver katalog. De definerer oppgavene byggesystemet skal utføre.

I vårt tilfelle vil vi skrive et enkelt C ++ -program ved hjelp av Visual Studio Code og bygge den med CMake.

Forsikre deg om at du har C ++ Visual Studio Extension installert, en feilsøking, helst GCC og CMake.

Du kan installere GCC ved hjelp av kommandoen:

$ sudo apt-get install build-essensiell GDB

For å starte, opprette en fungerende mappe og åpne den i Visual Studio Code.

$ mkdir cmakedemo
$ CD CMakedemo

Åpen visuell studiokode

$ kode

Når visuell studiokode åpnes, åpner du paletten ved å skrive Ctrl + skift + P

For raskt å lage de nødvendige CMake -filene, skriv inn CMake: Rask start og velg alternativet som på bildet nedenfor.

Hvis du blir bedt om å velge mellom Bibliotek og Kjørbar, Velg kjørbar. Du vil merke to filer, hovedfunksjonen og CMakelistene.TXT vil bli opprettet.

Du må også velge et sett for å informere CMake hvilken kompilator som skal brukes.

Først må du sjekke GCC -versjonen din på terminalen. På paletten, søk etter sett og velg den som samsvarer med versjonen din.

Nederst i vinduet vil du se det valgte settet. I vårt tilfelle er det GCC 9.4.0 x86_64-Linux-GNU.

CMake bruker også en variant som inneholder instruksjoner om å bygge prosjektet. Fortsatt på paletten, skriv inn CMake: Velg variant. Det er fire varianter å velge mellom.

  • Debug: Det inkluderer feilsøkingsdetaljer, men det deaktiverer optimaliseringer.
  • Utgivelse: Ingen feilsøkingsdetaljer, men optimalisering blir inkludert.
  • RelWithDebinfo: Det inkluderer feilsøkingsinformasjon og optimaliserer for størrelse.
  • Minsizerel: Det inkluderer ikke feilsøkingsdetaljene, men det optimaliserer for størrelse.

I vårt tilfelle trenger vi optimaliserings- og feilsøkingsinformasjon. Så vi vil velge Feilsøking.

Konfigurasjon

Alt er satt. Åpne paletten og typen CMake: Konfigurer, Klikk på ENTER -knappen, og CMake vil generere byggefilene og konfigurere prosjektet.

Det siste trinnet er å bygge prosjektet. Du kan gjøre det ved å klikke på Bygge nederst på skjermen eller kjører CMake: Bygg.

Det er det! Du har brukt CMake -verktøyet for å konfigurere og bygge prosjektet.

I tilfelle feil med prosjektet, kan du bare kjøre CMake: Debug, og det vil vise hvor feilen er på koden.

CMake med cpack

Når du har et prosjekt konfigurert og bygget som vi gjorde med CMake, trenger du en måte å bygge programvaren for å gjøre den installerbar. Det du trenger er en måte eller verktøy som lar deg bygge prosjektet på utviklingsmaskinen din og lage et skjema som kan overføres og installeres på en annen enhet. Det er det cpack gjør.

Cpack vil lage et installasjonsprogram og en pakke for prosjektet. Det kan lage binære og kildepakker. Det gode er at CPACK støtter opprettelsen av installatører for OS X, RPMS, ZIP -filer, .tjære.GZ, Debian -pakker, vinduer og .sh.

Cpack jobber for å lage en duplikat av kildetreet for prosjektet og tjære- eller zip -filen, og du kan overføre filen til en annen maskin og lagre dem i riktig katalog og ha prosjektet ditt i gang. Cpack gjør det meste av arbeidet, inkludert å lage en midlertidig katalog for prosjektet og kopiere installasjonstreet i et passende format for emballasjeverktøyet.

Bruker cpack med cmake

Siden cpack er en del av CMake, er det ganske enkelt å kombinere de to. I vårt C ++ -prosjekt ved hjelp av CMake hadde vi en CMakelists.TXT -fil opprettet. Inne i filen er det støtte for cpack som kommer automatisk generert, som vist.

Derfor er den gjenværende delen å generere installatører og pakker.

For å gjøre det, først, naviger til bygge Katalog i prosjektkatalogen. I vårt eksempel vil det være:

$ cd cmakedemo/build

Du kan liste opp de forskjellige filene i katalogen.

For å generere installatørene, kjør kommandoen:

$ cpack -c cpackconfig.CMake

Du kan merke de forskjellige generatorene fra utdataene nedenfor, inkludert .tjære.gz, .sh, og .tjære.z.

Alternativt kan du kjøre kommandoen:

$ cpack -c cpacksourceconfig.CMake

Du har nå de nødvendige pakkene for prosjektet ditt.

Konklusjon

CMake og CPACK er nyttige verktøy for å generere konfigurasjonsfiler, bygge, testing og emballasjeprosjekter. Det er mange alternativer du kan bruke med kommandoene for å oppnå forskjellige ting. Denne guiden dekket hva cpack og cmake er, gikk deretter videre for å vise et eksempelbruk som konfigurerer og bygger et C ++ -prosjekt med CMake og pakker det med CPACK.