Comment construire cmake-gui sur Linux à partir des sources?

Réponses:

6

Deux options ici:

  • cmake-guiest emballé sous cmake-qt-gui . Installez-le avec:

    sudo apt-get install cmake-qt-gui
    
  • Si vous avez vraiment besoin de le construire à partir des sources, procédez comme suit:

    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
    
N0rbert
la source
2
Non, les paquets contiennent du cmake obsolète, qui ne prend pas en charge le boost 1.66 par exemple ...
stiv
5
L'installation cmake-qt-guiavec apt après avoir compilé à cmakepartir des sources entraînerait le type d'erreur suivant: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

Rien d'autre ne dépend de cmake (probablement), c'est donc un nœud feuille. Désinstallez le deb. Obtenez la dernière source sur https://cmake.org/ et décompressez l'archive quelque part, cd dedans.

./bootstrap --qt-gui
make
make install

En supposant que vous avez installé les éléments de développement QT. Vous vous retrouvez avec cmake et cmake-qui en ligne de commande. Démarrez-les à partir de la ligne de commande en tapant cmake ou cmake-gui, je ne sais pas comment ajouter aux menus.

Alan Corey
la source
0

Processus

  • Dans ce processus particulier, j'ai décidé de configurer la dernière version de cmake, avec la version apt de cmake (désolé si cela prête à confusion).

  • cmake-gui est compilé avec le même référentiel que l'outil de ligne de commande cmake, mais la configuration de construction par défaut pour cmake n'est pas configurée pour construire cmake-gui (ni l'interface curses ni l'interface Qt).

  • Pour construire cmake avec cmake-gui, il est nécessaire de définir certaines variables dans le script de construction cmake. Vous pouvez normalement le faire via l'interface utilisateur, mais il est également possible de définir ces variables en modifiant manuellement CMakeCache.txt dans le répertoire de construction, ce que je montrerai comment faire dans cette réponse.

  • CMake nécessite Qt, mais il ne le trouve pas automatiquement, l'une des choses que nous devons faire est de montrer où sont les scripts Qt CMake.

1. Installez Qt (si vous ne l'avez pas déjà)

  • Téléchargez le programme d'installation à partir du site Web de Qt . Dans mon cas, j'ai sélectionné la dernière version de 5.12 (au moment de la rédaction, 5.12.7) et je l'ai installée avec tous les paramètres par défaut.

  • Vous devrez créer un compte avec Qt pour télécharger le programme d'installation à l'aide de cette méthode; le compte est gratuit pour les utilisateurs open source (ce que vous êtes si vous l'utilisez pour simplement créer cmake pour votre propre usage; si vous prévoyez d'utiliser Qt pour autre chose, vous devriez vérifier si vous pouvez utiliser cette version).

  • J'ai installé Qt dans un dossier nommé Qt dans mon répertoire personnel.

  • Ce processus d'installation prendra un certain temps.

  • Je pense que Qt pourrait être disponible via apt, mais pour mes besoins, j'avais besoin du téléchargement complet pour un autre projet, donc je l'avais ici de toute façon.

2. git clone les sources cmake de leur dépôt git vers quelque part (par exemple, votre répertoire personnel).

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

3. Créez un répertoire de construction

cd cmake
mkdir build
cd build
cmake ..

Cela placera, entre autres, un fichier nommé CMakeCache.txt dans votre dossier de construction.

4. Modifiez CMakeCache.txt pour configurer l'interface utilisateur

  • Ouvrez ce fichier dans votre éditeur de texte et modifiez les lignes suivantes pour activer qt ui (je les ai trouvées en recherchant qt).

  • Notez que vous devez remplacer PATH_TO_QT par l'emplacement de votre répertoire qt, dans mon cas, PATH_TO_QT était juste / home / myname / Qt.

  • Je déconseille d'utiliser des chemins relatifs ou ~.
//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. Relancez cmake .. dans le répertoire de construction

cmake ..

6. Compiler cmake (dans le répertoire de construction)

Où N est le nombre de cœurs que vous souhaitez compiler, dans mon cas, j'ai tapé make -j10.

make -jN

7. Installez le cmake intégré

  • Vous pouvez être tenté de supprimer la version appropriée de cmake avant de le faire, mais il semble que (pour une raison quelconque), la partie d'installation de cmake nécessite l'installation de cmake pour ... installer cmake.
sudo make install

8. Opérations finales

  • sudo make install ne remplace pas la version de cmake stockée dans / usr / bin, malheureusement.

  • Il peut y avoir un moyen plus propre d'accomplir cette étape.

  • Utilisez cmake --versionpour vérifier si vous devez le faire, si cela donne la version fournie avec apt (pour moi au moment de la rédaction, 3.10.2), vous devrez le faire.

  • Vous devez également vérifier que votre version de cmake se trouve dans / usr / local / bin /

Je devais faire ce qui suit:

Renommez le binaire cmake installé par apt

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

Liez notre version intégrée de cmake dans / usr / bin /

sudo ln -s /usr/local/bin/cmake /usr/bin/cmake
  • Je ne m'attendais pas à avoir besoin de lier la nouvelle version de cmake dans / usr / bin /, car / usr / local / bin devrait être dans PATH; pour une raison quelconque, il ne chercherait obstinément que cmake dans / usr / bin, et me donnerait une erreur disant que / usr / bin / cmake n'a pas été trouvé même si la dernière version de cmake était disponible dans / usr / local / bin.

  • Je suppose qu'il est possible qu'une réinitialisation de bash ou un redémarrage ait résolu le besoin de liaison, mais je ne suis pas sûr.

Tapez cmake-guipour démarrer l'interface utilisateur

Une capture d'écran de cmake-gui

Cool!

Remarques

  • Testé sur Ubuntu Mate 18.04.1 x86_64
  • Version de Cmake que j'essaie d'installer: ce commit , cela n'a pas de signification particulière, je viens de cloner le dernier.

  • Je pense que cette méthode devrait fonctionner si vous utilisez la version apt de cmake pour configurer la dernière version de cmake pendant tout ce processus. Si cela ne fonctionne pas, faites-le moi savoir dans les commentaires.

  • Dans mon cas (comme l'OP), je cherche à revenir en arrière et à construire cmake-gui après avoir déjà installé la dernière version de cmake à partir de la source.
  • Ainsi, dans la chance (IMO peu probable) que la partie du script qui construit cmake-gui ait besoin de la dernière version de cmake pour construire cmake, mais le reste de la construction était OK avec la version apt, pour reproduire exactement les étapes que j'ai faites ici, vous pouvez construire cmake avec la version apt, puis reconfigurer avec la dernière version construite de cmake, et recompiler.
jrh
la source
Il n'y a aucun indice de langage cmake , j'ai utilisé la surbrillance C. Je suppose que c'est mieux que rien.
HJR