1

Я не люблю cmake. Теперь, когда это сказано, вот вопрос;

1) Как настроить конфигурацию с помощью cmake? Использование make Все, что необходимо, - это настроить --help, чтобы получить команды для правильной настройки конфигурации перед запуском make. Как это сделать с помощью cmake или вообще возможно?

2) Используя make, я могу создать установочный пакет для моего дистрибутива, используя make DESTDIR =/directory/build/ install, и файлы устанавливаются в /directory/build, затем я легко захожу в /build и создаю пакет для установки программы и удаление позже при необходимости, но с помощью cmake я не вижу способа сделать это, и программа не может быть удалена.

Я предполагаю, что есть способ сделать эти вещи, я просто еще не нашел их. Спасибо

1 ответ1

2

Предположим, вы распаковали пакет с исходным кодом project-1.0.0.tar.gz который создал каталог с похожим именем. Когда я использую cmake, я обычно создаю каталог под названием build в котором будут храниться файлы .o т.д., Чтобы не загрязнять исходный каталог:

/home/user/project-1.0.0> mkdir build
/home/user/project-1.0.0> cd build

Из этого каталога я затем выполняю ccmake (то есть с двумя c), который является интерфейсом ncurses для конфигурации cmake. Поскольку вы должны указать, где находится основной файл CMakeLists.txt, в этом примере команда будет

/home/user/project-1.0.0/build> ccmake ..

Это запускает пользовательский интерфейс, который изначально ничего не показывает.

Затем вам нужно нажать «c» (настроить), чтобы позволить cmake начать разбираться. Когда это будет сделано, вы увидите несколько имен переменных cmake вместе с их значением. Вам, вероятно, не нужно будет их менять, я обычно только заполняю переменную CMAKE_BUILD_TYPE и устанавливаю ее для release (для более оптимизированных настроек компилятора)

Вам нужно будет нажать «c» как минимум еще один раз (возможно, еще больше, в зависимости от того, что делает скрипт cmake), пока все * перед значениями переменных не исчезнут. Затем вы можете нажать «g» для генерации make-файлов.

Когда make-файлы созданы, все, вероятно, работает так, как вы ожидаете. Вы можете сделать make , make install , make install DESTDIR=/my/new/dest/dir .

Помимо пользовательского интерфейса ncurses также существует пользовательский интерфейс на основе Qt.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .