Как создать cmake-gui на Linux из источника?

Я пытался загрузить https://cmake.org/files/v3.11/cmake-3.11.0.tar.gz и создать его, но нет никакого cmake-gui в./мусорном ведре подпапках после сборки. cmake-gui предоставляется в другом исходном архиве?

9
задан 28 March 2018 в 23:56

3 ответа

Две опции здесь:

  • cmake-gui упаковывается как cmake-qt-gui. Установите его с:

    sudo apt-get install cmake-qt-gui
    
  • Если действительно необходимо создать его из источника, делают следующее:

    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
    
5
ответ дан 23 November 2019 в 05:07

Ничто иное не зависит от cmake (вероятно), таким образом, это - вершина. Удалите deb. Получите последний источник от https://cmake.org / и распакуйте tarball где-нибудь, CD в него.

./bootstrap --qt-gui
make
make install

Принятие Вас имеют QT dev установленный материал. Вы заканчиваете и с регулярной командной строкой cmake и с cmake-qui. Запустите их с командной строки путем ввода cmake или cmake-gui, я не знаю о добавлении к меню.

2
ответ дан 23 November 2019 в 05:07

Процесс

  • В этом конкретном процессе я решил настроить последнюю версию cmake с подходящей версией cmake (извините, если это сбивает с толку).

  • cmake-gui скомпилирован из того же репозитория, что и инструмент командной строки cmake, но конфигурация сборки по умолчанию для cmake не настроена на сборку cmake-gui (ни интерфейс curses, ни интерфейс Qt).

  • Чтобы собрать cmake с cmake-gui, необходимо установить некоторые переменные в скрипте сборки cmake.Обычно вы можете сделать это через пользовательский интерфейс, но также можно установить эти переменные, вручную отредактировав файл CMakeCache.txt в каталоге сборки, что я покажу, как это сделать в этом ответе.

  • CMake требует Qt, но не может найти его автоматически. Одна из вещей, которые нам нужно сделать, - это показать, где находятся сценарии Qt CMake.

1. Установите Qt (если у вас его еще нет)

  • Загрузите установщик с веб-сайта Qt . В моем случае я выбрал последнюю версию 5.12 (на момент написания - 5.12.7) и установил ее со всеми настройками по умолчанию.

  • Вам необходимо создать учетную запись в Qt, чтобы загрузить программу установки этим методом; учетная запись бесплатна для пользователей с открытым исходным кодом (что вы и есть, если вы используете это просто для создания cmake для собственного использования; если вы планируете использовать Qt для чего-либо еще, вы должны проверить, можете ли вы использовать эту версию).

  • Я установил Qt в папку с именем Qt в моем домашнем каталоге.

  • Этот процесс установки займет некоторое время.

  • Я думаю, Qt может быть доступен через apt, но для моих целей мне нужна была полная загрузка для другого проекта, так что она у меня все равно была здесь.

2. git клонируйте исходники cmake из их репозитория git куда-нибудь (например, в ваш домашний каталог).

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

3. Создайте каталог сборки

cd cmake
mkdir build
cd build
cmake ..

, который, среди прочего, поместит файл с именем CMakeCache.txt в вашу папку сборки.

4. Отредактируйте CMakeCache.txt, чтобы настроить ui

  • Откройте этот файл в текстовом редакторе и отредактируйте следующие строки, чтобы включить qt ui (я нашел их, выполнив поиск по qt).

  • Обратите внимание, что вам нужно заменить PATH_TO_QT на место, где находится ваш каталог qt, в моем случае PATH_TO_QT был просто / home / myname / Qt.

  • Я бы не советовал использовать относительные пути или ~.

//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. Повторно запустите cmake .. в каталоге сборки

cmake ..

6. Скомпилируйте cmake (в каталоге сборки)

Где N - количество ядер, которые вы хотите скомпилировать, в моем случае я набрал make -j10 .

make -jN

7. Установите встроенный cmake

  • . У вас может возникнуть соблазн удалить подходящую версию cmake перед тем, как сделать это, но похоже, что (по какой-то причине) установочная часть cmake требует, чтобы cmake был установлен, чтобы ... установить cmake.
sudo make install

8. Заключительные операции

  • sudo make install , к сожалению, не заменяет версию cmake, хранящуюся в / usr / bin.

  • Может быть более чистый способ выполнить этот шаг.

  • Используйте cmake --version , чтобы проверить, нужно ли вам это делать, если он дает версию, которая идет с apt (для меня на момент написания, 3.10.2), вам нужно будет сделай это.

  • Вы также должны убедиться, что ваша версия cmake находится в / usr / local / bin /

Мне нужно было сделать следующее:

Переименовать установленный двоичный файл cmake apt.

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

Свяжите нашу встроенную версию cmake с / usr / bin /

sudo ln -s /usr/local/bin/cmake /usr/bin/cmake
  • Я не ожидал, что мне понадобится связывать новую версию cmake с / usr / bin /, поскольку / usr / local / bin должен находиться в PATH; по какой-то причине он упорно искал cmake только в / usr / bin и выдавал мне ошибку о том, что / usr / bin / cmake не был найден, хотя последняя версия cmake была доступна в / usr / local / bin.

  • Я предполагаю, что сброс bash или перезагрузка могли устранить необходимость связывания, но я не уверен.

Введите cmake-gui , чтобы запустить пользовательский интерфейс

A screenshot of cmake-gui

Круто!

Примечания

  • Протестировано на Ubuntu Mate 18.04.1 x86_64

  • Версия Cmake, которую я пытаюсь установить: этот коммит ,особого значения в этом нет, я только что клонировал последнюю.

  • Я считаю, что этот метод должен работать, если вы используете apt-версию cmake для настройки последней версии cmake в течение всего этого процесса. Если это не сработает, дайте мне знать в комментариях.

  • В моем случае (например, OP) я хочу вернуться и собрать cmake-gui после того, как уже установил сборку последней версии cmake из исходных текстов.

  • Таким образом, с вероятностью (что маловероятно IMO) той части скрипта, которая строит cmake-gui, потребуется последняя версия cmake для сборки cmake, но остальная часть сборки была в порядке с версией apt, чтобы точно воспроизвести шаги, которые я сделал здесь, вы можете собрать cmake с версией apt, затем перенастроить с помощью последней собранной версии cmake и снова собрать.

0
ответ дан 10 March 2020 в 12:52

Другие вопросы по тегам:

Похожие вопросы: