В общем суть вопроса в поиске инструмента, наверное. Типа я недавно сносил винду и стал обдумывать то как мне быстро настраивать среду разработки. Пишу на плюсах вроде как за экосистему их шарю. В разработке использую cmake в качестве сборщика - ninja, а компилятор... ну тут как настроение будет, но в основном наверное от msvc их clang, но компилятор не особо важен, так как по мне важна кросскомпилируемость, чтобы проекты собирались под любой компилятор, а менеджер пакетов - vcpkg. Ну и вот, мне после сноса винды нужно все это ставить, то есть: git, смейк, сборщик, компилятор, там вскод к примеру - иде, вспкг еще надо собрать, короче геморрой сплошной, и условно вдруг мне надо будет быстро на другом пк все дело поднять для разработки, и там такой же геморрой будет, нет ли какого-нибудь инструмента крутого, который в теории при наличии самой программы и конфигурационного листа устанавливать это все? Есть vx - молодой проект, но еще сыроват, хотя поддержка вспкг присутствует уже, и это радует, но там есть баги, короче сыро, а в vfox или asdf или mise нет поддержки вспкг. Честно говоря, я стал невольно задумываться над тем, чтобы самому просто взять и написать что-то вроде этого, но если такое уже есть, то я буду рад использовать его. Так что можете делиться тем чем сами пользуетесь.
Я понимаю что можно забить на все, менять глобальное окружение каждый раз и для каждого проекта, но это не гибко и не удобно. Это бесит, потому что, чтобы собрать просто мини проект на с++ нужно столько корячиться, и ладно вы просто соберете свой hello world, а если проект с зависимостями, есть много хедеров единиц трансляций, то... Короче можно много говорить насколько проще было бы использовать тупо вижуал студио 2026, но за 2 года, такой сценарий проектов для меня кажется самым эффективным гибким и удобным, так что мне осталось только автоматизировать процесс настройки окружения для него.
Если кому интересно, то структура проектов у меня такая:
Короче я стараюсь максимально упрощать себе разработку, чтобы она гибкая там была. Можно конечно каждый раз качать нужные зависимости и удалять там, но это сплошной геморрой, так что вспкг мне нужон, а конан вроде геморнее, чем вспкг, так что да, настраиваю конфигурацию проекта, манифесты вспкг и норм.
p.s. Я редко пользуюсь такого рода платформами, так что, возможно, задал вопрос немного не туда, буду рад если сообщите куда писать такое, может обсуждения какие-то есть?
Перепаковка и создание собственных инсталляторов. Со временем они могут развиваться в полноценные менеджеры: мигрировать настройки, поддерживать разные варианты конфигураций, устанавливать и удалять ПО и т. д. Считаю это наиболее профессиональным подходом. Главный минус — он требует немало усилий на разработку и сопровождение.
Создание «золотого снимка» системы. Здесь тоже есть несколько вариантов реализации. Самый простой — сначала полностью настроить систему в виртуальной машине, а затем разворачивать этот образ на реальные машины. На практике такой образ обычно развивается итеративно: его дополняют и обновляют по мере отладки, появления новых запросов, выхода обновлений, возникновения новых идей и т. п.
писать свой аналог vx особо незачем — то что нужно, уже есть в винде: winget configure. Кидаешь YAML с cmake, ninja, vscode, VS Build Tools (workload Microsoft.VisualStudio.Workload.VCTools) и гоняешь winget configure -f config.winget на любой чистой машине. А либы вообще не тащи в глобальное окружение — vcpkg в manifest mode и так подтягивает их per-project из vcpkg.json, только зафиксируй builtin-baseline, чтобы версии не плавали между пк. p.s. в структуре опечатка: файлы называются CMakePresets.json / CMakeUserPresets.json, а не .txt.
Точно, json! Спасибо, наверное вингет действительно лучший вариант для моей задачи. И вопрос к вам, а вы сами так делаете или исключительно ответили на вопрос? Знакомых айтишников нет, так что такой вопрос интересен