## page was renamed from wilecoyote/provawccmakegui
#format wiki
#LANGUAGE it
<<BR>>
<<Indice(depth=2)>>
<<Informazioni(forum=''http://forum.ubuntu-it.org/viewtopic.php?f=46&t=614798; rilasci="24.04 22.04 20.04 18.04")>>

= Introduzione =

In questa guida viene descritta l'applicazione '''[[https://it.wikipedia.org/wiki/CMake|CMake]]'''. È usata per il processo di precompilazione del sorgente di un programma basato sulle librerie '''[[https://it.wikipedia.org/wiki/Qt_(toolkit)|Qt]]''', tramite dei semplici file di configurazione indipendenti dal compilatore e dal sistema.

L'applicazione può essere usata tramite due diverse [[https://it.wikipedia.org/wiki/Interfaccia_grafica |interfacce]], ''cmake-qt-gui'' e ''cmake-curses-gui'', basate rispettivamente sulle librerie '''[[https://it.wikipedia.org/wiki/Qt_(toolkit)|Qt]]''' e '''[[https://en.wikipedia.org/wiki/Curses_(programming_library)|curses]]'''.

= Installazione =

[[AmministrazioneSistema/InstallareProgrammi|Installare]] uno dei pacchetti di seguito elencati:
 * [[apt://cmake-qt-gui|cmake-qt-gui]]: versione basata sulla libreria '''Qt''' per gli ambienti desktop '''[[AmbienteGrafico/Kde|KDE]]''' e '''[[AmbienteGrafico/Lxqt|LXQt]]''';
 * [[apt://cmake-curses-gui|cmake-curses-gui]]: versione basata sulla libreria '''Curses''' per uso tramite [[AmministrazioneSistema/Terminale|terminale]] negli altri '''[[AmbienteGrafico|ambienti grafici]]'''.

Nel caso si precompili applicazioni specifiche dell'ambiente grafico '''KDE''', si consiglia di installare il pacchetto [[apt://extra-cmake-modules|extra-cmake-modules]].

{{{#!wiki tip
Per mantenere ordinata la propria `Home` si raccomanda di creare una cartella specifica per le compilazioni.<<BR>> Quanto segue richiede che sia presente un file `CMakeLists.txt` nella cartella col sorgente del programma, genericamente denominata `NomeProgramma`.}}}


= Utilizzo di Cmake-qt-gui =

== Configurazione ==

 0. [[AmbienteGrafico/AvviareProgrammi|Avviare]] il [[AmbienteGrafico/FileManager|file manager]].
 0. Aprire la cartella `NomeProgramma` e fare clic sul file `CMakeLists.txt`. Talvolta il file `CMakeLists.txt` si trova in una sottocartella il più delle volte di nome `src`.

 {{{#!wiki tip 
La prima volta che si clicca su un file  `CMakeLists.txt` il programma '''cmake-gui-qt''' non si avvierà automaticamente. Per risolvere è necessario fare clic col pulsante destro del mouse sul file e selezionare '''''Apri con → Altro...''''', digitare nella barra di ricerca della finestra '''cmake-gui''', mettere la spunta su '''Ricorda l'associazione dell'applicazione per tutti i file di tipo <Codice sorgente CMake> (text/x-cmake)''' e fare clic su '''OK'''.}}}
 
 0. Nella finestra dell'applicazione fare clic su '''Browse Source...'''
      0. Selezionare il percorso alla cartella `NomeProgramma`. Talvolta il file `CMakeLists.txt` si trova in una sottocartella il più delle volte di nome `src`.
      0. Fare clic su '''OK''' per confermare.
 0. Fare clic su '''Browse Build...'''
      0. Selezionare il percorso alla cartella `NomeProgramma` come sopra.
      0. Fare clic su '''New Folder''' e digitare come nome '''build'''.
      0. Fare clic su '''OK''' per confermare.
 0. Fare clic su '''OK''' per confermare.

<<Anchor(compila)>>
== Precompilazione ==

 0. Fare clic su '''Configure'''.
 0. Nella finestra apparsa confermare come generatore '''Use default native compilers''' e fare clic su '''Fine'''.
     0. Se nella finestra in basso appare '''Configuring done''' la precompilazione è completata.
     0. Se nella finestra in basso appare '''Configuring error''' la precompilazione necessita di una o più [[AmministrazioneSistema/Pacchetti#Dipendenze|dipendenze]] non presenti nel sistema. In tal caso consultare il paragrafo [[#Richiesta_dipendenza|Richiesta dipendenza]].

=== Accorgimenti ===

 * Per creare la pagina documentazione d'aiuto per l'ambiente grafico '''KDE''', cercare nella finestra in alto con sfondo rosso la stringa '''KDE*_ENABLE_HTMLHANDBOOK''' e mettere la spunta. L'asterisco ''*'' rappresenta il numero di versione '''5''' o '''6''' di '''KDE'''.
 * Per modificare la directory predefinita`/usr/local` in cui allocare il programma che si va compilando:
  0. cercare nella finestra in alto con sfondo rosso la stringa '''CMAKE_INSTALL_PREFIX'''.
  0. Fare clic sul percorso predefinito e modificare in`/usr`.
 * Per le opzioni di configurazione relative alle altre stringhe consultare i file `INSTALL` o `README` forniti con il sorgente.

== Generazione ==

Se sono stati modificati dei parametri nelle stringhe con sfondo rosso, prima fare clic su '''Configure''', altrimenti fare clic direttamente su '''Generate'''. Terminata la generazione chiudere l'applicazione.

= Utilizzo di Cmake-curses-gui =

== Configurazione ==

 0. [[AmbienteGrafico/AvviareProgrammi|Avviare]] il [[AmministrazioneSistema/Terminale|terminale]] e digitare i seguenti comandi: {{{
cd NomeProgramma}}} {{{
ccmake CMakeLists.txt
}}}

== Precompilazione ==

 0. Premere '''c''' per configurare. Se la precompilazione è completata viene mostrata la lista delle stringhe di configurazione; se viene mostrata la mancanza di una dipendenza da soddisfare fare clic su '''e''' e dopo su '''q''' per chiudere l'applicazione.
 0. Se il programma necessita di una [[AmministrazioneSistema/Pacchetti#Dipendenze|dipendenza]] non presente nel sistema, consultare il paragrafo [[#Richiesta_dipendenza|Richiesta dipendenza]].

=== Accorgimenti ===

 * Per creare la pagina documentazione d'aiuto per l'ambiente grafivo '''KDE''':
  0. posizionare il cursore con i tasti ''freccia'' sulla stringa '''KDE*_ENABLE_HTMLHANDBOOK * OFF''', dove l'asterisco '''*''' è la versione '''5''' o '''6''' di '''KDE'''.
  0. Premere '''Invio''' per commutare a '''ON'''.
 * Per modificare la directory predefinita`/usr/local` in cui allocare il programma che si va compilando:
  0. posizionare il cursore con i tasti ''freccia'' sulla stringa '''CMAKE_INSTALL_PREFIX  */usr/local'''.
  0. Premere '''Invio''' e digitare `/usr`.
 * Per le opzioni di configurazione relative alle altre stringhe consultare i file `INSTALL` o `README` forniti con il sorgente.

== Generazione ==

Se sono stati modificati dei parametri nelle stringhe prima fare clic su '''c''', altrimenti fare clic direttamente su '''g'''. Terminata la generazione l'applicazione si chiuderà.

= Richiesta dipendenza =

In caso di blocco durante la configurazione appare un messaggio d'errore in cui si potrà leggere o il nome del file mancante o il nome della dipendenza mancante.

== File mancante ==

Per trovare il nome del pacchetto contenente il file mancante usare il programma '''apt-file'''. Consultare in proposito [[AmministrazioneSistema/InstallareProgrammi/Apt#Altre_operazioni|questa pagina]].

Trovato il nome del pacchetto richiesto seguire il prossimo paragrafo per installarlo.

== Pacchetto mancante ==

Per [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto richiesto (dipendenza) si consiglia l'utilizzo di un gestore pacchetti (si consiglia in '''Ubuntu''' e nella maggior parte delle derivate  '''[[AmministrazioneSistema/InstallareProgrammi/GestorePacchetti|Synaptic]]''', ad esclusione di '''Kubuntu''' e '''Lubuntu''' in cui è preinstallato '''[[AmministrazioneSistema/InstallareProgrammi/GestorePacchettiMuon|Muon]]'''). Il nome del pacchetto richiesto è solitamente seguito dal suffisso ''-dev''.

Se sono presenti più versioni selezionare quella del [[Repository/Componenti |repository]] '''main'''. 

Una volta installato il pacchetto richiesto, svuotare la cache facendo clic sul menù '''''File → Delete cache''''' e ripetere la procedura di [[#compilacompila|precompilazione]].

= Compilazione e pacchettizzazione =

 0. Aprire un [[AmministrazioneSistema/Terminale|terminale]].
 0. [[AmministrazioneSistema/ComandiBase#cd|spostarsi]] nella cartella `NomeProgramma/buils`.
 0. Per effettuare la [[AmministrazioneSistema/InstallareProgrammi/DaSorgenti#Compilazione|compilazione]] digitare il comando:{{{
 make
}}}

Sarà dunque possibile installare il sorgente compilato. Si consiglia di pacchettizzare quest'ultimo tramite l'applicazione '''[[Programmazione/Checkinstall|Checkinstall]]'''.


= Ulteriori risorse =

 * [[https://cmake.org/cmake-tutorial/|Sito ufficiale del Tutorial]]

----
CategoryProgrammazione