Como criar cmake-gui no Linux a partir da fonte?

Respostas:

6

Duas opções aqui:

  • cmake-guié empacotado como cmake-qt-gui . Instale-o com:

    sudo apt-get install cmake-qt-gui
    
  • Se você realmente precisa compilá-lo a partir da fonte, faça o seguinte:

    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
fonte
2
Não, pacotes contêm cmake ultrapassado, que não suporta impulso 1,66, por exemplo ...
stiv
5
A instalação do cmake-qt-guiapt após a compilação a cmakepartir das fontes levaria ao seguinte tipo de erro: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

Nada mais depende do cmake (provavelmente), por isso é um nó de folha. Desinstale o deb. Obtenha a fonte mais recente em https://cmake.org/ e descompacte o tarball em algum lugar, inclua nele.

./bootstrap --qt-gui
make
make install

Supondo que você tenha o material do desenvolvedor do QT instalado. Você acaba com a linha de comando regular cmake e cmake-qui. Inicie-os na linha de comando, digitando cmake ou cmake-gui, não sei como adicionar aos menus.

Alan Corey
fonte
0

Processo

  • Nesse processo específico, decidi configurar a versão mais recente do cmake, com a versão apt do cmake (desculpe se isso é confuso).

  • O cmake-gui é compilado com o mesmo repositório que a ferramenta de linha de comando cmake, mas a configuração padrão de compilação do cmake não está configurada para compilar o cmake-gui (nem a interface curses nem a interface Qt).

  • Para construir o cmake com o cmake-gui, é necessário definir algumas variáveis ​​no script de construção do cmake. Você normalmente pode fazer isso por meio da interface do usuário, mas também é possível definir essas variáveis ​​editando manualmente o CMakeCache.txt no diretório de construção, que é o que mostrarei como fazer nesta resposta.

  • O CMake requer Qt, mas não pode encontrá-lo automaticamente, uma das coisas que precisamos fazer é mostrar onde estão os scripts do Qt CMake.

1. Instale o Qt (se você ainda não o possui)

  • Faça o download do instalador no site da Qt . No meu caso, selecionei a versão mais recente do 5.12 (no momento da redação, 5.12.7) e instalei-a com todas as configurações padrão.

  • Você precisará fazer uma conta no Qt para baixar o instalador usando este método; a conta é gratuita para usuários de código aberto (se você estiver usando isso para criar o cmake para seu próprio uso; se você planeja usar o Qt para qualquer outra coisa, verifique se pode usar esta versão).

  • Eu instalei o Qt em uma pasta chamada Qt no meu diretório pessoal.

  • Esse processo de instalação vai demorar um pouco.

  • Eu acho que o Qt pode estar disponível através do apt, mas para meus propósitos eu precisava do download completo para outro projeto, então eu o tive aqui de qualquer maneira.

2. git clona as fontes cmake de seu repositório git para algum lugar (por exemplo, seu diretório inicial).

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

3. Crie um diretório de construção

cd cmake
mkdir build
cd build
cmake ..

Isso colocará, entre outras coisas, um arquivo chamado CMakeCache.txt na sua pasta de compilação.

4. Edite CMakeCache.txt para configurar a interface do usuário

  • Abra este arquivo no seu editor de texto e edite as seguintes linhas para ativar o qt ui (eu encontrei estas pesquisando qt).

  • Note que você precisa substituir PATH_TO_QT por onde está seu diretório qt, no meu caso PATH_TO_QT era apenas / home / myname / Qt.

  • Eu desaconselharia o uso de caminhos relativos 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. Execute novamente o cmake .. no diretório de construção

cmake ..

6. Compile o cmake (no diretório de compilação)

Onde N é o número de núcleos que você deseja compilar, no meu caso, digitei make -j10.

make -jN

7. Instale o cmake construído

  • Você pode ficar tentado a remover a versão apt do cmake antes de fazer isso, mas parece que (por algum motivo), a parte de instalação do cmake exige que o cmake esteja instalado para ... instalar o cmake.
sudo make install

8. Operações finais

  • sudo make install não substitui a versão do cmake armazenada em / usr / bin, infelizmente.

  • Pode haver uma maneira mais limpa de realizar esta etapa.

  • Use cmake --versionpara verificar se você precisa fazer isso, se ele fornecer a versão que acompanha o apt (para mim no momento da redação, 3.10.2), você precisará fazer isso.

  • Você também deve verificar se sua versão do cmake está em / usr / local / bin /

Eu precisava fazer o seguinte:

Renomeie o binário cmake do apt instalado

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

Vincule nossa versão integrada do cmake em / usr / bin /

sudo ln -s /usr/local/bin/cmake /usr/bin/cmake
  • Eu não esperava vincular a nova versão do cmake em / usr / bin /, pois / usr / local / bin deve estar no PATH; por alguma razão, ele procuraria teimosamente o cmake em / usr / bin e me deu um erro dizendo que / usr / bin / cmake não foi encontrado, embora a versão mais recente do cmake estivesse disponível em / usr / local / bin.

  • Eu acho que é possível que uma redefinição do bash ou uma reinicialização possa ter corrigido a necessidade de vinculação, mas não tenho certeza.

Digite cmake-guipara iniciar a interface do usuário

Uma captura de tela do cmake-gui

Legal!

Notas

  • Testado no Ubuntu Mate 18.04.1 x86_64
  • Versão do Cmake que estou tentando instalar: esse commit , não há um significado específico para isso, apenas clonei o mais recente.

  • É minha opinião que esse método funcione se você estiver usando a versão apt do cmake para configurar a versão mais recente do cmake durante todo esse processo. Se isso não funcionar, deixe-me saber nos comentários.

  • No meu caso (como o OP), estou procurando voltar e criar o cmake-gui depois de instalar a versão mais recente do cmake a partir do código-fonte.
  • Portanto, na (IMO improvável) chance de que a parte do script que cria o cmake-gui precise da versão mais recente do cmake para criar o cmake, mas o restante da versão foi compatível com a versão apt, para replicar exatamente as etapas que eu fiz aqui, você pode criar o cmake com a versão apt, reconfigurar com a versão mais recente do cmake e compilar novamente.
jrh
fonte
Não há dica de idioma cmake , usei o destaque em C. Eu acho que é melhor que nada.
jrh 10/03