170 похожих чатов

Sergey Вы знаете какие нибудь плагины для автоматической работы cmake

в Clion?

18 ответов

15 просмотров

Что подразумевается под автоматической работой CMake в CLion? Что-то вроде ассистируемой компоновки скрипта по настройкам проекта, заданным в GUI IDE? Хотя я зря уточняю - я вообще плагинов в CLion не знаю, кроме Material Theme UI и Rainbow Brackets. И CodeMap еще был, но где-то потерялся.

cmake - это скрипт, заменяющий миллион окошек в IDE "автоматической работы" он не подразумевает

Alexander Karaev
cmake - это скрипт, заменяющий миллион окошек в ID...

И значительно большее. Я, например, дозавожу поддержку CMake-вставок, обрабатываемых CMake'ом же в крестовый код (позволяет кросс-платформенно подтягивать ресурсы времени компиляции в единицы трансляции, например), за что другие члены команды на меня уже косо посматривают =) Если удастся повесить этот этап на clangd малой кровью - можно будет выпиливать препроцессор из языка, в принципе.

Sergey Anisimov
И значительно большее. Я, например, дозавожу подде...

Почему это вставки CMake, а не стандартные configure_file? И к чему вообще там clangd?

Sergey Skvortsov
Почему это вставки CMake, а не стандартные configu...

Вставки CMake потому, что это не основное предназначение. А clangd, чтобы linter учитывал потенциальную кодогенерацию, которую я безусловно буду хотеть.

Sergey Anisimov
Вставки CMake потому, что это не основное предназн...

Ну по описанию это именно configure_file без лишних костылей ("кросс-платформенно подтягивать ресурсы времени компиляции в единицы трансляции") clangd исключительно про LSP, точно ли он?

Sergey Skvortsov
Ну по описанию это именно configure_file без лишни...

Конкретно для этого configure_file действительно можно было бы использовать, полагаю, Вы правы. По поводу clangd: Я, например, хочу сгенерировать набор шаблонных операторов для класса. Я могу это сделать перед компиляцией, безусловно, однако я не могу заставить мою IDE не орать на меня матом, когда я попытаюсь этими (несуществующими) операторами воспользоваться.

Sergey Anisimov
Конкретно для этого configure_file действительно м...

Можете, конечно Сложите кодгенеренные файлы симейком в отдельную либу и target_link_libraries с ней

Sergey Anisimov
И значительно большее. Я, например, дозавожу подде...

> дозавожу поддержку CMake-вставок, обрабатываемых CMake'ом же в крестовый код на уровне чего, препроцессинга сорцов cmake'ом?

Sergey Anisimov
Так их ведь нет еще, что складывать?)

Есть, вы же сгенерили их на этапе конфигурации

Sergey Skvortsov
Есть, вы же сгенерили их на этапе конфигурации

Так нет же. Я пишу код и вставил туда свой кейворд, например. Я еще ничего не собирал (и возможно даже не сохранил). Чуть позже я воспользуюсь тем, что кейворд должен по-моему значить. Но он ничего не значит, поскольку clangd ничего о моих семантиках не знает. И он начнет ругань.

Sergey Anisimov
Так нет же. Я пишу код и вставил туда свой кейворд...

теперь я понимаю, почему коллеги косо смотрят

Sergey Skvortsov
Ваших коллег можно понять

И я ожидал это увидеть, однако, и здесь) Однако отмечу, что тулзы патчить как раз совершенно не нужно. CMake во все это умеет и, как я подозреваю, clangd тоже можно научить без особой эзотерики.

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
2
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Карта сайта