Здравствуйте, noone, Вы писали:
N>Наоборот, путаница у вас. В CLion разделена модель проекта (то, что необходимо для его сборки) и опции IDE (code style, настройки контроля версий, цвета и размеры шрифтов, прочие ненужные для сборки вещи). Модель читается из CMake-файла, т.к. именно там написано как скомпилировать каждый файл и что перед этим нужно сделать.
Собственно вы повторили в точности мою мысль, только своими словами. Задам вам простейший вопрос уже в вашей терминологии: а зачем ide читать "модель проекта"? Сборкой то в любом случае занимается не она, а сторонняя система сборки.
N>Как вы себе представляете поддержку "простейшим движением" какого-нибудь средней руки проекта, скажем, самого CMake? Там нужно заголовочники перед компиляцией погенерить (иначе остальные файлы просто не распарсить), для нескольких множеств файлов составить соответствующие наборы опций компиляции (в общем случае у каждого файла этот набор свой), сам компилятор выбрать (у них разные built-in функции/макросы и IDE должна их видеть именно такими и именно для этой версии компилятора). Теперь умножайте это в несколько раз, ибо есть релизная сборка, дебажная, специальная сборка для ООО "Вектор", сборка под другую платформу, под другую архитектуру и т.п. Не от безделья же люди пишут километры конфигов в CMakeLists.txt. Теперь вы предлагаете то же самое описать руками второй раз через некие настройки, которые никому, кроме IDE не нужны. Сколько найдется желающих делать работу дважды, сколько будет у такой IDE пользователей?
Я вроде бы достаточно чётко описал реализацию этого простейшего движения (собственно оно имеется во всех конкурирующих IDE). Это возможность запуска произвольной команды (а будет это make/nmake/waf/scons или вообще bat файл решает пользователь в простейшей настройке) по нажатию кнопки build в IDE. В таком случае будут одинаково отлично работать и студенческая поделка и проект с километровым конфигом в CMakeLists.txt.
Кстати, нечто очень отдалённое там всё же реализовано. Только почему-то не в настройках build, а в настройках run/debug. Там можно добавить произвольную команду перед запуском и даже убрать стандартный шаг build. Однако это всё же решение через задницу. Тем более, что без CMakeLists.txt анализатор кода всё равно работать не будет.
Что касается настроек, необходимых для работы анализатора кода, то это совсем другой вопрос. Настройка там всегда одинаковая, тривиальная (всего то пара опций) и во всех нормальных IDE делается за пару минут, в том числе и под несколько конфигураций. Я это делал не раз и в разных IDE. И никаких сложностей не встречал.
N>Никакого отношения к структуре проекта эти опции не имеют. Они нужны только CLion (и даже он без них проживет на стандартных значениях), а остальному миру не нужны. Поэтому живут отдельно.
Ну так и настройки анализатора кода нужны только CLion — вот там им и самое место.