Come costruire cmake-gui su Linux dal sorgente?


Risposte:


6

Due opzioni qui:

  • cmake-guiè confezionato come cmake-qt-gui . Installalo con:

    sudo apt-get install cmake-qt-gui
    
  • Se hai davvero bisogno di costruirlo dal sorgente, procedi come segue:

    sudo apt-get update
    sudo apt-get build-dep cmake-qt-gui
    wget https://cmake.org/files/v3.11/cmake-3.11.0.tar.gz
    
    tar -xzf cmake-3.11.0.tar.gz
    cd cmake-3.11.0/
    ./configure --qt-gui
    make -j5
    bin/cmake-gui
    

2
No, i pacchetti contengono cmake obsoleto, che non supporta boost 1.66 per esempio ...
stiv

5
L'installazione cmake-qt-guicon apt dopo la compilazione cmakeda fonti porterebbe al seguente tipo di errore:Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: cmake-qt-gui : Depends: cmake (= 3.5.1-1ubuntu3) E: Unable to correct problems, you have held broken packages.
sk

2

Nient'altro dipende da cmake (probabilmente) quindi è un nodo foglia. Disinstallare il deb. Ottieni l'ultima fonte da https://cmake.org/ e decomprimi il tarball da qualche parte, inseriscilo nel cd.

./bootstrap --qt-gui
make
make install

Supponendo che tu abbia installato roba per sviluppatori QT. Si finisce con sia la normale linea di comando cmake che cmake-qui. Avviarli dalla riga di comando digitando cmake o cmake-gui, non so aggiungere ai menu.


0

Processi

  • In questo particolare processo ho deciso di configurare l'ultima versione di cmake, con la versione apt di cmake (scusate se questo è confuso).

  • cmake-gui è compilato con lo stesso repository dello strumento da riga di comando cmake, ma la configurazione di build predefinita per cmake non è impostata per compilare cmake-gui (né l'interfaccia curses né l'interfaccia Qt).

  • Per compilare cmake con cmake-gui, è necessario impostare alcune variabili nello script di compilazione di cmake. Normalmente potresti farlo attraverso l'interfaccia utente, ma è anche possibile impostare queste variabili modificando manualmente CMakeCache.txt nella directory di build, che è ciò che mostrerò come fare in questa risposta.

  • CMake richiede Qt, ma non lo trova automaticamente, una delle cose che dobbiamo fare è mostrare dove si trovano gli script Qt CMake.

1. Installa Qt (se non lo hai già)

  • Scarica il programma di installazione dal sito Web di Qt . Nel mio caso, ho selezionato l'ultima versione di 5.12 (al momento della scrittura, 5.12.7) e l'ho installata con tutte le impostazioni predefinite.

  • Dovrai creare un account con Qt per scaricare il programma di installazione usando questo metodo; l'account è gratuito per gli utenti open source (cosa che sei se lo stai usando per creare semplicemente cmake per il tuo uso personale; se prevedi di usare Qt per qualsiasi altra cosa dovresti verificare se puoi usare questa versione).

  • Ho installato Qt in una cartella denominata Qt nella mia home directory.

  • Questo processo di installazione richiederà del tempo.

  • Penso che Qt potrebbe essere disponibile tramite apt, ma per i miei scopi avevo bisogno del download completo per un altro progetto, quindi l'ho avuto qui comunque.

2. git clona i sorgenti di cmake dal loro repository git da qualche parte (ad esempio, la tua home directory).

git clone https://gitlab.kitware.com/cmake/cmake.git

3. Crea una directory di compilazione

cd cmake
mkdir build
cd build
cmake ..

Ciò, tra le altre cose, inserirà un file chiamato CMakeCache.txt nella cartella di compilazione.

4. Modifica CMakeCache.txt per configurare l'interfaccia utente

  • Apri questo file nel tuo editor di testo e modifica le seguenti righe per abilitare il qt ui (li ho trovati cercando qt).

  • Nota che devi sostituire PATH_TO_QT con dove si trova la tua directory qt, nel mio caso PATH_TO_QT era solo / home / mio nome / Qt.

  • Vorrei sconsigliare l'utilizzo di percorsi relativi o ~.
//Build Qt dialog for CMake
BUILD_QtDialog:BOOL=ON

QT_QMAKE_EXECUTABLE:FILEPATH=PATH_TO_QT/5.12.7/gcc_64/bin/qmake

//The directory containing a CMake configuration file for Qt5Core.
Qt5Core_DIR:PATH=PATH_TO_QT/5.12.7/gcc_64/lib/cmake/Qt5Core

//The directory containing a CMake configuration file for Qt5Widgets.
Qt5Widgets_DIR:PATH=PATH_TO_QT/5.12.7/gcc_64/lib/cmake/Qt5Widgets

5. Rieseguire cmake .. nella directory di generazione

cmake ..

6. Compila cmake (nella directory build)

Dove N è il numero di core che vuoi compilare, nel mio caso ho digitato make -j10.

make -jN

7. Installare il cmake integrato

  • Potresti essere tentato di rimuovere la versione apt di cmake prima di farlo, ma sembra che (per qualche motivo), la parte di installazione di cmake richieda l'installazione di cmake per ... installare cmake.
sudo make install

8. Operazioni finali

  • sudo make install purtroppo non sostituisce la versione di cmake memorizzata in / usr / bin.

  • Potrebbe esserci un modo più pulito per eseguire questo passaggio.

  • Utilizzare cmake --versionper verificare se è necessario eseguire questa operazione, se fornisce la versione fornita con apt (per me al momento della stesura, 3.10.2), sarà necessario farlo.

  • Dovresti anche verificare che la tua versione di cmake sia in / usr / local / bin /

Ho dovuto fare quanto segue:

Rinomina il binario cmake installato apt

sudo mv /usr/bin/cmake /usr/bin/cmake_old

Collega la nostra versione integrata di cmake in / usr / bin /

sudo ln -s /usr/local/bin/cmake /usr/bin/cmake
  • Non mi aspettavo di dover collegare la nuova versione di cmake in / usr / bin /, poiché / usr / local / bin dovrebbe essere in PERCORSO; per qualche motivo, cercherebbe ostinatamente solo cmake in / usr / bin e mi darebbe un errore dicendo che / usr / bin / cmake non è stato trovato anche se l'ultima versione di cmake era disponibile in / usr / local / bin.

  • Immagino sia possibile che un reset di bash o un riavvio possano aver risolto la necessità del collegamento, ma non ne sono sicuro.

Digitare cmake-guiper avviare l'interfaccia utente

Uno screenshot di cmake-gui

Freddo!

Appunti

  • Testato su Ubuntu Mate 18.04.1 x86_64
  • Versione Cmake che sto cercando di installare: questo commit , non ha alcun significato particolare in questo, ho appena clonato l'ultimo.

  • Ritengo che questo metodo dovrebbe funzionare se si utilizza la versione apt di cmake per configurare l'ultima versione di cmake durante l'intero processo. Se questo non funziona, fammelo sapere nei commenti.

  • Nel mio caso (come l'OP), sto cercando di tornare indietro e creare cmake-gui dopo aver già installato la versione più recente di cmake dal sorgente.
  • Quindi, nella (improbabile IMO) possibilità che la parte dello script che costruisce cmake-gui abbia bisogno dell'ultima versione di cmake per compilare cmake, ma il resto della build era OK con la versione apt, per replicare esattamente i passaggi che ho fatto qui, è possibile creare cmake con la versione apt, quindi riconfigurare con l'ultima versione di cmake compilata e ricostruire.

Non esiste alcun suggerimento per il linguaggio cmake , ho usato l'evidenziazione C. Immagino sia meglio di niente.
jrh
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.