LINUX.ORG.RU

Отсутсвие генератора QtCreator в CMake

 ,


0

1

Не могу понять: почему его нет. Для visual studio, codeblocks, какой-то нидзи и прочих IDE есть, а для qtcreator - нет. То что можно подцепить makefile, кот. на выходе cmake получается - неудобно. Если я хочу поэкспериментировать с каким-нить одним юнитом в очень большом проекте, то для того, чтобы понять, что все компилиться, я должен каждый раз делать make? Файл проекта qtcreator намного проще файла проекта VS, так почему нет этого долбанного генератора?

почему нет этого долбанного генератора?

Потому что его никто не написал?

i-rinat ★★★★★
()

используй autotools, брось этот ненужный си-мейк

Harald ★★★★★
()

Зачем там генератор для QtCreator, если в QtCreator есть нативная поддержка CMake? Которая с каждым релизом всё лучше и лучше, к тому же.

a1batross ★★★★★
()
Ответ на: комментарий от a1batross

Нативная поддержка cmake? В чем она выражается? В том, что qtcreator дергает cmake и ждет пока makefile не появиться?

plgrm44
() автор топика
Ответ на: комментарий от plgrm44

Сейчас он пускает CMake server и от него получает все настройки. Как это запилили, у меня он начал показывать хедеры и подпроекты нормально, а не через жопу.

А то что там мейкфайл... ну ты можешь поставить Ninja в настройках и это будет работать с Qt Creator. Я ставил, вполне всё работало.

a1batross ★★★★★
()
Ответ на: комментарий от a1batross

После импорта makefile в qtcreator проблем со структорой папок - нет. Они такие же как и в vs2005, для которого генериться родной файл проекта. Но я не могу компилить в QtCreator отдельно взятый cpp-модуль по команды <ctrl>+<alt>+<b>(build file) и это бесит. Может кто подскажет: как после импорта makefile в QtCreator компилить отдельно взятый cpp-модуль?

Команда make не устраиает. Она слишком много времени выполняется по сравнению с build file и иногда нужно именно один модуль скомпилить, потому что другие, например, в нерабочем состоянии.

plgrm44
() автор топика
Ответ на: комментарий от plgrm44

А это уже не ко мне вопросы. CMake в принципе сам по себе такое не умеет.

a1batross ★★★★★
()

Генератор CMake это не то, что под IDE генерирует описание проекта. Он генерирует файлы для низкоуровневой системы сборки make, Ninja, MSBuild (который почему то обозвали Visual Studio).

Как уже было сказано выше, современный QtCreator для вытаскивания структуры проекта запускает CMake в server-mode. Раньше для этого использовался доп.генератор CodeBloks.

Но я не могу компилить в QtCreator отдельно взятый cpp-модуль по команды <ctrl>+<alt>+<b>(build file) и это бесит

Тех, кто приходит из мира Майкрософта всегда что то в опенсорсном софте бесит:) Обратное встречается намного реже. CMake не оперирует понятием «скомпилировать отдельный файл», о целиком target собирает. Привыкай, мир он довольно многогранный. Ну или доделай сам.

То, что Visual Studio может запускать компиляцию отдельного файла, мне месяц назад показали. Чем оно может облегчить мне жизнь я так и не понял.

dvetutnev
()
Ответ на: комментарий от dvetutnev

CMake не оперирует понятием «скомпилировать отдельный файл»

С make as backend вполне оперирует(под Шин не пробовал)

anonymous
()
Ответ на: комментарий от dvetutnev

Генератор CMake это не то, что под IDE генерирует описание проекта. Он генерирует файлы для низкоуровневой системы сборки make, Ninja, MSBuild (который почему то обозвали Visual Studio).

Для kdevelop генерит файл проекта.

CMake не оперирует понятием «скомпилировать отдельный файл», о целиком target собирает.

CMake вообще ничего не собирает.

plgrm44
() автор топика
Ответ на: комментарий от dvetutnev

Тех, кто приходит из мира Майкрософта всегда что то в опенсорсном софте бесит:) Обратное встречается намного реже. CMake не оперирует понятием «скомпилировать отдельный файл», о целиком target собирает. Привыкай, мир он довольно многогранный. Ну или доделай сам.

Не пойму причем здесь open source. QtCreator тоже open source, но он позволяет создавать проект и компилить в нем отдельно взятый модуль.

plgrm44
() автор топика
Ответ на: комментарий от plgrm44

Скорее KDevelop генерирует себе проект, который дёргает cmake

XMs ★★★★★
()
Ответ на: комментарий от a1batross

если в QtCreator есть нативная поддержка CMake

Нет там её. Qt Creator просит CMake сделать проектный файл для инородной IDE — Code::Blocks и потом уже парсит его.

Пруф: https://github.com/qt-creator/qt-creator/blob/master/src/plugins/cmakeproject...

EXL ★★★★★
()

Потому что не нужно.

QtCreator из коробки поддерживает cmake.

Указываешь ему путь на CMakeLists.txt и радуешься.

invy ★★★★★
()
Ответ на: комментарий от plgrm44

Но я не могу компилить в QtCreator отдельно взятый cpp-модуль по команды <ctrl>+<alt>+<b>(build file) и это бесит.

Открой для себя плагин clang code model. И ты поймёшь что тебе не нужно компилять один файл.

Хотя у меня по одному файлу и так вроде компилирует. Попробуй генерировать Ninja.

invy ★★★★★
()
Последнее исправление: invy (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.