Як побудувати cmake-gui на Linux з джерела?


Відповіді:


6

Тут два варіанти:

  • 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
    

2
Ні, пакети містять застарілий cmake, який не підтримує збільшення 1,66, наприклад ...
stiv

5
Установка cmake-qt-guiз apt після компіляції cmakeз джерел призведе до такого роду помилок: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

Нічого іншого не залежить від cmake (ймовірно), тому це листовий вузол. Видаліть деб. Отримайте останнє джерело з https://cmake.org/ і розпакуйте кудись тарбол, вставте його в компакт-диск.

./bootstrap --qt-gui
make
make install

Якщо припустимо, що у вас встановлені QT dev речі. Ви закінчуєте як звичайний командний рядок cmake, так і cmake-qui. Почніть їх з командного рядка, ввівши cmake або cmake-gui, я не знаю про додавання до меню.


0

Процес

  • У цьому конкретному процесі я вирішив налаштувати останню версію 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, щоб налаштувати інтерфейс користувача

  • Відкрийте цей файл у своєму текстовому редакторі та відредагуйте наступні рядки, щоб увімкнути 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 /

Мені потрібно було зробити наступне:

Перейменуйте застосований ct бінарний файл cmake

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щоб запустити інтерфейс користувача

Скріншот cmake-gui

Класно!

Примітки

  • Тестовано на Ubuntu Mate 18.04.1 x86_64
  • Версія Cmake, яку я намагаюся встановити: ця фіксація , для цього немає особливого значення, я просто клонував останню версію.

  • На мою думку, цей метод повинен працювати, якщо ви використовуєте підходящу версію cmake для налаштування останньої версії cmake протягом усього цього процесу. Якщо це не працює, дайте мені знати в коментарях.

  • У моєму випадку (як і в ОП), я хочу повернутися назад і створити cmake-gui після того, як вже встановив останню версію cmake з джерела.
  • Таким чином, з (IMO навряд чи) шансом, що частині сценарію, яка створює cmake-gui, потрібна остання версія cmake для створення cmake, але решта збірки була в порядку з версією apt, щоб точно повторити кроки, які я зробив тут, ви можете створити cmake за допомогою apt версії, потім переконфігурувати з останньою вбудованою версією cmake та створити заново.

Немає натяку на мову cmake , я використовував підсвічування C. Я думаю, це краще, ніж нічого.
jrh
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.