4. Per essere operativi con QtCreator e QGIS

QtCreator è un IDE creato dai produttori della libreria Qt. Con QtCreator puoi creare qualsiasi progetto C++, ma è particolarmente ottimizzato per chi lavora su applicazioni basate su Qt (comprese le applicazioni mobili).

4.1. Installare QtCreator

Qt Creator è disponibile su tutte le principali piattaforme e può essere scaricato dal sito https://www.qt.io/download (scegli la strada dell’open source). La procedura di installazione dipende dalla piattaforma in uso.

Se stai utilizzando una piattaforma Unix-like, puoi usare la linea di comando, ad esempio su Debian:

sudo apt install qtcreator qtcreator-doc

Dopo l’installazione dovresti vederlo nel tuo menu.

4.2. Impostare il tuo progetto

Si presume che tu disponga già di un clone locale di QGIS contenente il codice sorgente e che abbia installato tutte le dipendenze necessarie per la compilazione, ecc. Ci sono istruzioni dettagliate per git access e dependency requirements.

Nel nostro sistema il codice è stato salvato in $HOME/dev/cpp/QGIS e il resto della trattazione è stato scritto assumendo questa ipotesi. Devi aggiornare questi percorsi in base al tuo sistema locale.

Dopo aver lanciato QtCreator, fai File ► Open File or Project.

Quindi utilizza la finestra di dialogo di selezione dei file risultante per cercare ed aprire questo file:

$HOME/dev/cpp/QGIS/CMakeLists.txt
../../_images/selectCMakeLists.png

QtCreator analizzerà il progetto e ti chiederà di scegliere il percorso di compilazione e le opzioni nella finestra di dialogo Configura progetto.

Poiché vogliamo che QGIS abbia capacità di debug, abiliteremo solo la voce debug e la riempiremo con la nostra posizione di compilazione:

  1. Seleziona checkbox Seleziona tutti i kit abilitando la voce Desktop.

  2. Deselezionate tutte le voci tranne checkbox Debug.

  3. Compila il percorso con la cartella di compilazione. Per il nostro scopo, creiamo una cartella di creazione specifica per QtCreator:

    $HOME/dev/cpp/QGIS/build-master-qtcreator
    

    Probabilmente è una buona idea creare cartelle di compilazione separate per i diversi rami, se ti puoi permettere lo spazio su disco.

    ../../_images/configureProject.png

Queste sono le basi. Premendo il pulsante Configura progetto, QtCreator inizierà a scansionare l’albero dei sorgenti per il supporto del completamento automatico e farà alcune altre operazioni in background.

../../_images/configurationDone.png

Vogliamo modificare alcune cose prima di iniziare a lavorare.

4.3. Configurazione dell’ambiente di build

Fai clic sull’icona Progetti a sinistra della finestra di QtCreator.

../../_images/leftPanel.png

Seleziona la scheda delle impostazioni Build (normalmente attiva per impostazione predefinita).

../../_images/buildSettings.png

La finestra di dialogo mostra la configurazione di compilazione Debug e consente di modificare le impostazioni nella sezione CMake. Mentre la configurazione predefinita dovrebbe essere sufficiente per un primo passaggio, a seconda delle proprie esigenze, potresti voler abilitare altre funzionalità come:

  • WITH_3D = ON per visualizzazione 3D

  • WITH_CUSTOM_WIDGETS = ON per aggiungere widget personalizzati di QGIS per la progettazione dell’interfaccia.

Premi Apply Configuration Changes.

Per impostazione predefinita, Qt Creator utilizza tutti i core della CPU disponibili per velocizzare la creazione con la massima parallelizzazione. Per evitare che il computer si blocchi, devi specificare un numero inferiore di core. Nella sezione Build Steps:

  1. Premi il menu Add build step ► e seleziona Custom Process Step

  2. Compila il nuovo modulo come segue:

    • Command: make

    • Arguments: -j4 per usare 4 core (l’impostazione dipende dal tuo dispositivo)

    • Working directory: %{buildDir}

../../_images/customProcess.png

Nota

Inoltre, se vuoi ridurre i tempi di compilazione, puoi farlo con ninja, un’alternativa a make con opzioni di compilazione simili. Devi impostarlo come CMake generator:

  1. Apri Tools ► Options ► Build & Run ► Kits

  2. Seleziona la voce del kit Desktop (default), visualizzando le sue proprietà

  3. Premi Change… accanto a CMake generator.

Ora sei pronto per la compilazione. Preme il pulsante build Build in basso a sinistra della finestra di dialogo (o Ctrl+B) per avviare la compilazione del progetto! Qt Creator inizierà la compilazione, che potrebbe richiedere un po” di tempo la prima volta, a seconda del dispositivo.

Al termine della compilazione, puoi eseguire QGIS premendo il pulsante runInstall Run.

La compilazione di QGIS genera anche dei binari nella cartella di compilazione. Quindi puoi eseguire QGIS dalla linea di comando usando:

cd $HOME/dev/cpp/QGIS/build-master-qtcreator
./output/bin/qgis

A volte vuoi installare QGIS come eseguibile, al di fuori della cartella di compilazione.

  1. Imposta il CMAKE_INSTALL_PREFIX in un punto a cui hai accesso in scrittura (noi usiamo $HOME/apps). In questo modo si eviterà di sovrascrivere un’installazione di QGIS esistente (ad esempio da parte del gestore di pacchetti).

    ../../_images/customInstallPrefix.png
  2. Prem Apply Configuration Changes per aggiornare le impostazioni.

  3. Premi il pulsante build

  4. Al termine della compilazione, troverai l’eseguibile qgis nella cartella $HOME/apps/bin.

4.4. Esecuzione e debug

Ora sei pronto per eseguire e fare il debug di QGIS. Per impostare un punto di interruzione, apri semplicemente un file sorgente e fai clic nella colonna di sinistra.

../../_images/breakPoint.jpeg

Avvia ora QGIS sotto il debugger facendo clic sul pulsante runDebug Start Debugging in basso a sinistra della finestra.