LINUX.ORG.RU

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

 ,


0

1

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

Ответ на: комментарий от 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 ()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

invy ★★★★★ ()
Последнее исправление: invy (всего исправлений: 1)