Re[6]: [ANN] CLion - JetBrains IDE
От: noone  
Дата: 06.10.14 20:53
Оценка:
Здравствуйте, alex_public, Вы писали:

_>У вас какая-то путаница в голове: слиты в единое целое система сборки (которая в принципе должна быть независима от ide) и система проектов ide (хранящая настройки проекта нужные для ide).


Наоборот, путаница у вас. В CLion разделена модель проекта (то, что необходимо для его сборки) и опции IDE (code style, настройки контроля версий, цвета и размеры шрифтов, прочие ненужные для сборки вещи). Модель читается из CMake-файла, т.к. именно там написано как скомпилировать каждый файл и что перед этим нужно сделать.

_>Никто не предлагает писать свою систему сборки. А вот написать свою систему проектов (т.е. по сути просто сохранение/востановление пары опций) явно не помешало бы. При таком раскладе не надо было бы страдать парсингом конфига для сборки и соответственно можно было бы одним простейшим движением (возможностью запуска произвольной команды при построение) поддержать сразу все существующие системы сборки.


Как вы себе представляете поддержку "простейшим движением" какого-нибудь средней руки проекта, скажем, самого CMake? Там нужно заголовочники перед компиляцией погенерить (иначе остальные файлы просто не распарсить), для нескольких множеств файлов составить соответствующие наборы опций компиляции (в общем случае у каждого файла этот набор свой), сам компилятор выбрать (у них разные built-in функции/макросы и IDE должна их видеть именно такими и именно для этой версии компилятора). Теперь умножайте это в несколько раз, ибо есть релизная сборка, дебажная, специальная сборка для ООО "Вектор", сборка под другую платформу, под другую архитектуру и т.п. Не от безделья же люди пишут километры конфигов в CMakeLists.txt . Теперь вы предлагаете то же самое описать руками второй раз через некие настройки, которые никому, кроме IDE не нужны. Сколько найдется желающих делать работу дважды, сколько будет у такой IDE пользователей?

Конечно, необходимо поддерживать и другие модели проекта, в том числе простейшую, где можно открыть папку с лабой студента, дописать header search paths, и все полетит. Но сначала придется пилить CMake, т.к. большинство программистов хотят открывать не HelloWorld и laba-3, а LLVM и InsightToolkit.

_>Более того, у вас такая система проектов похоже уже есть прямо сейчас (судя по тексту ниже), только она не имеет такого официального названия (ну да, "специфичные для проекта code style" — это конечно совсем другое... ). Так что я вдвойне не понимаю это ваше странное решение.


Никакого отношения к структуре проекта эти опции не имеют. Они нужны только CLion (и даже он без них проживет на стандартных значениях), а остальному миру не нужны. Поэтому живут отдельно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.