как его залить на GitHub так, чтобы потом можно было просто собрать.
Где об этом можно почитать или что можете посоветовать?
Иерархия файлов следующая:
/src/file1.hpp
/src/file1.cpp
...
/src/fileN.hpp
/src/fileN.cpp
ProjectName.cpp
ProjectName.vcxproj
ProjectName.vcxproj.filters
ProjectName.vcxproj.user
P.S. Это первый раз, когда я что-то на C\C++ публикую и я не знаю, как принято.
дойди до CREATE REPOSITORY https://docs.github.com/en/get-started/quickstart/create-a-repo#create-a-repository и увидишь инструкцию по помещению своих сырцов во вновь созданный репозиторий
В Visual Studio вроде было отдельное расширение для гитхаба, можно попробовать использовать его
В гитхаб и им подобных хранят исходные коды, на языке С/С++, а не исполняемые файлы. Их собирают по требованию на месте
а он вроде и не собирался там exe хранить
В общем, "собрать" - это не про GitHub
Хочет же собрать...
Я хочу запушить в нормальном виде. А собрать придется другим людям и крайне желательно, чтобы это было как можно проще. Я использую VisualStudio и там вроде свой инструментарий, может под CMake написать - не знаю
Лучше на CMake. Вопрос в том, как минимизировать телодвижения для сборки при клоне с гитхаба?
так для сборки на CMake нужен лишь CMakeLists.txt, разве не так?
Смотря какой проект. Вполне могут быть внешние зависимости, которые тоже нужно как-то подтягивать
Да. Есть две основные платформы (Linux, Windows) и я не могу сказать, на какой из них будут собирать. Я в любом случае инструкцию оставлю, но чем проще тем лучше
У меня все просто, только std (memory, iostream и прочее)
Какие-то внешние зависимости есть?
Ну я для своих проектов для популярных библиотек предпочитаю просто через find_package, а остально через git submodule и add_subdirectory. Работает почти безотказно, да и в докерах удобно собирать
Во-первых, есть три основные платформы...
Тогда, наверное, действительно проще просто класть исходники + CMake файл для сборки
Я вообще почему спрашивал - сейчас есть пакетные менеджеры, которые неплохо работают в связке с CMake'ом. А вообще сейчас де-факто стандарт (к сожалению) CMake, поэтому для современных либ он часто поддерживается по умолчанию
Всё-равно как. Я вот CMake не люблю и не буду его использовать.
Ну будьте готовы к тому, что и вас не будут любить и ваши труды не будут использовать
Торвальдсу скажи😎
Как минимум, на этом смаке сейчас можно всё, везде и наиболее удобно
А какие альтернативы?
Смак умеет в ninja
СМаке - стандарт к счастью, а не к сожалению. Вот к сожалению Конан ещё нет
CMake недостаточно человеколюбив, чтобы быть к счастью
Зато достаточно мощный, что-бы автоматизировать большинство задач Главное - научиться правильно его готовить)
Вполне можно быть и мощным, и человеколюбивым. Единственное преимущество CMake'а - нет адекватных аналогов по распространенности
Возможно ещё долгое время и не будет, ибо в нём уже многое учтено для сборки под разные цели
Я понимаю, но оптимизма мне это не добавляет
Просто CMake любит не каждого... :)
Яж писал уже. Он слишком уродлив чтобы его любить, но слишком распространен чтобы его не использовать
Видишь, ты сам не любишь, а хочешь любви в ответ... Так не бывает!
Кхех, ну такое можно сказать почти про любой более-менее широко распространённый язык/инструмент, это субъективно) Объективно имеет смысл лишь два вопроса: - может-ли CMake выполнить поставленное ТЗ в рамках "из коробки"? - есть-ли аналоги, которые не хуже?
Это чисто прагматичный подход, не все описывается только лишь им. А по второму пункту - в других языках есть, что какбе мою печаль и спонсирует :) Но оффтоп, не будем
В других языках… Иногда есть, иногда нет. Java : sbt в scala :) - Система сборки проектов, которая сама по себе проект :) (edsl) maven (куча XMl), gradle (groovy, kotlin - тоже dsl какой-то). Во всех случаях refman, которым убить можно (если распечатать), а электронная форма может свести с ума.
И есть еще условный Rust'овский cargo, который прям удобный. Так что, ну, куда смотреть ¯\_(ツ)_/¯
Обсуждают сегодня