Max
вот в этом something и есть проблема. ведь теперь foo зависит от bar, и bar зависит от foo
Max
не знаю даже с какой стороны гуглить это))
Max
была идея через промежуточный тип, но пользователю тогда придется делать специализацию 'руками'... приду домой, напишу
Alexander
народ, есть проект который собирается через scons. Вопрос: можно ли как-то на основе конфига scons сгенерить cmake? чето гугление пока ничего вразумительного не дает
Alexander "SonnySlave"
слишком сложно руками переписать?
Alexander
я видать чего-то не понимаю)
Alexander "SonnySlave"
я видать чего-то не понимаю)
а чего не понимать - нет нигде вразумительных конвертеров и быть не может
Alexander
слишком сложно руками переписать?
эм? ну руками не вариант. https://github.com/mongodb/mongo/blob/master/SConstruct
Alexander
или может для clion кто-нить знаешь плагины каки-енить ктороые умеют scons, не?
Alexander
я кароче в монге хочу фиксить баг, можно сказать уже пофиксил но в vim не очень эффективно это делать
Alexander
хотелось бы ide все таки боле менее с блэкджеком чтоб
Alexander
а настроить vim?
да я просто привык к intellij, много на java писал, а тут clion - идентичная среда
Alexander "SonnySlave"
Да, кстати. с ИДЕ срачами - в @supapro
melvin
флудилка же есть
🦥Alex Fails
О, обновили цппреф
Stanislav
О, обновили цппреф
пушо пейперы за ноябрь выложили
🦥Alex Fails
ага
🦥Alex Fails
скоро будет еще и памятник моему тщеславию
Alexander
сконсом и собирай
ну и собираю, просто изначально вопрос был в том, что я хочу работать с clion и как бы мне так из scons получить cmake конфиг, есть ли какие-нить конверторы
Berkus
никак
Berkus
принципиально разные языки python и tcl-like custom, конверторов нет
Alexander
пиздец clion томрозит на большом проекте, даже на достаточно мощном компе с 16gb рамы и ssd :(
Alexander
вообще навигация по коду даже почти не работает
Evgenii
я на серваке гонял)
Alexander
ужоз
Alexander
и scons тоже подкачивает... изменение в одном файле компилит минуты 3 🙁 даже если выключить всякие проверки
Berkus
сконс древнее кривое говно, так что не удивительно
Berkus
cmake+ninja рулит за скорость
Berkus
ninja успевает проэвальюэйтить обновление LLVM c 6500 файлами меньше чем за секунду, вжух
void *
вот бы в генте все собиралось смаком и нинзей
Berkus
так при сборке больше зависит от скорости компайлера и линкера, тут нинзя не поможет, а вот замена autotools на cmake ПРЯМО СИЛЬНО ускоряет
Viacheslav
сконс древнее кривое говно, так что не удивительно
Ну у CMake синтаксис тоже не сахар, и документацию по тому, как правильно писать, днём с огнём не сыщешь, но меньшее зло, да.
Berkus
Ну у CMake синтаксис тоже не сахар, и документацию по тому, как правильно писать, днём с огнём не сыщешь, но меньшее зло, да.
документация есть прямо на офсайте, а синтаксис хорош тем что он РЕГУЛЯРНЫЙ verb(noun args)
Berkus
ну кроме исключений, которые подтверждают правила лол, но они хорошо документированы
kitsu
Документация на команды есть, на best practices — хрен там.
вот да, согласен, этого тоже бывает нехватает
kitsu
Зато stackoverflow забит, что нередко выручает
Berkus
Документация на команды есть, на best practices — хрен там.
на это есть несколько видео Effective CMake например от daniel pfeifer
Alexander
не это невозможно, clion унылое гавно... пойду vim настраивать
Berkus
Документация на команды есть, на best practices — хрен там.
ну и немного опыта и слежение за текущими трендами и нахождение в канале #cmake в цппслаке тебе дают очень много преимуществ по сравнению с тем же scons-ом, который никаким питоном не исправить
Крылатый
(Я всё жду, когда увижу в телеге уведомление, что беркус пишет в больше 1 чате одновременно)
Nikolai
не это невозможно, clion унылое гавно... пойду vim настраивать
Нельзя писать на java IDE для плюсов.. Ну не надо так делать. Никогда ничего хорошего не выходит.
Berkus
Нельзя писать на java IDE для плюсов.. Ну не надо так делать. Никогда ничего хорошего не выходит.
пишу прямо сейчас в члеоне и прекрасно себя чувствую, у меня правда cmake-based проект
Alexander
Нельзя писать на java IDE для плюсов.. Ну не надо так делать. Никогда ничего хорошего не выходит.
да какая хер разница на джаве или на шкале. оно или работает или нет
Крылатый
vim отлично справляется с cmake-based проектами.
Alexander
clion для cmake проектов работает более менее да, но щас вот он мне сгенерил cmake для исходников довольно крпного проекта и получился ад и вакханалия
Крылатый
А обьём проекта каков ( файлы, количество строк)?
У меня проект в около 10кк строк CLion не выдюжил, например.
Крылатый
Но и VS такое не выдюживает.
Крылатый
(А вот QtCreator выдюживает!)
Alexander
чем можно быстро посчитать кол-во строк?
Крылатый
Какой-то прям жир
Кровавый энтерпрайз.)
Nikolai
(А вот QtCreator выдюживает!)
Поэтому я его и использую чаще всего)
Berkus
А обьём проекта каков ( файлы, количество строк)?
небольшой проект, слок говорит такое Totals grouped by language (dominant language first): cpp: 1765521 (99.89%) ruby: 824 (0.05%) ansic: 468 (0.03%) sh: 457 (0.03%) perl: 143 (0.01%) Total Physical Source Lines of Code (SLOC) = 1,767,413
Alexander
ты дождался конца индексирования? без этого и правда не работает кек
ну конечно. он лагает изза code inspection. делаешь power save режим и оно не лагает но и не работает)
Viacheslav
на это есть несколько видео Effective CMake например от daniel pfeifer
Ну всё равно давай согласимся, что библиотека с примерами того, как надо делать, не помешала бы :) Так-то CMake — лучшее из того, что доступно в настоящий момент.
Berkus
А обьём проекта каков ( файлы, количество строк)?
$ find . -name '*.cpp' -o -name '*.h' -o -name '*.hpp' | wc -l 13117 плюсовых фаайлов примерно столько
Berkus
(бОльшая часть из этого - буст, около 11к файлов)
Alexander
krolix:mongo sandro$ cloc src 15152 text files. 14580 unique files. 1406 files ignored. github.com/AlDanial/cloc v 1.74 T=68.97 s (199.8 files/s, 62631.7 lines/s) --------------------------------------------------------------------------------------- Language files blank comment code --------------------------------------------------------------------------------------- C++ 3223 206188 206316 1063126 C/C++ Header 7533 217234 423055 1044742 C 810 46283 114272 483902 Go 1092 34895 32857 232164 Python 583 16933 34448 71300 JavaScript 95 4907 5563 21652 Perl 15 1057 1446 6952 Bourne Shell 110 1140 900 5700 Java 31 811 2056 4405 Assembly 15 235 604 4372 JSON 47 4 0 4363 HTML 9 467 63 2781 IDL 29 269 0 2336 Markdown 37 768 0 2317 CSS 11 610 90 2282 YAML 13 147 116 2256 make 53 458 254 1972 DOS Batch 19 230 9 1877 m4 22 105 60 1795 PHP 7 48 24 1066 NAnt script 3 73 0 792 Pascal 1 79 95 671 WiX source 5 33 11 468 Windows Resource File 6 63 98 277 Bourne Again Shell 1 42 35 194 XML 1 5 6 176 Windows Module Definition 1 0 0 21 Lisp 1 11 21 19 vim script 1 5 15 11 D 1 4 22 8 PowerShell 1 1 2 6 RobotFramework 2 0 0 4 --------------------------------------------------------------------------------------- SUM: 13778 533105 822438 2964007 --------------------------------------------------------------------------------------- а вот мои статсы))
Alexander
кароче вот на таком проекте clion ложится почти без шансов
Stanislav
https://blogs.msdn.microsoft.com/vcblog/2017/12/03/msvc-code-optimizer-improvements-in-visual-studio-2017-versions-15-5-and-15-3/
Matwey
Господа, а чо? И вот так всегда можно было? https://wandbox.org/permlink/huv7kkJGmxoYGK41
Berkus
вот за это я его и не люблю....
я в 2017 году живу, мне пофиг
Stanislav
О_О в коментах пишут "I’ve stated that we’ll turn our attention to C conformance after we finish C++ conformance."
Berkus
у меня зато все нужные тулзы под рукой сразу
Stanislav
ничоси, неужто msvc в норм Си научится
Stanislav
когда нибудь