- CMake
- vcpkg
- система сборки, поддерживаемая генератором CMake
- компилятор, поддерживающий стандарт языка C++20
-
Открыть консоль в папке проекта
-
Создать папку
/buildи перейти в неёmkdir build cd build
-
Сконфигурировать проектные файлы системы сборки используя CMake (при необходимости указав предпочитаемые систему сборки и компилятор, а так же тип сборки
ReleaseдляSingle-configгенераторов:-DCMAKE_BUILD_TYPE=Release)[!ВАЖНО!]
-
либо предварительно добавить переменную среды с именем
VCPKG_ROOT, значением которой будет путь к корню vcpkg (далее как<vcpkg-root>)cmake ..
-
либо передать в качестве аргумента к CMake путь к toolchain vcpkg
cmake .. -DCMAKE_TOOLCHAIN_FILE="<vcpkg-root>/scripts/buildsystems/vcpkg.cmake"что эквивалентно
cmake .. --toolchain="<vcpkg-root>/scripts/buildsystems/vcpkg.cmake"
[!ВАЖНО!]
-
-
Собрать проект в конфигурации
Releaseи установить нужные файлы в папку/bincmake --build . --config Release --target install --
-
Перейти в папку
/binи запустить приложениеcd ../bin ./MatchThree.exe
Возникли проблемы с зависимостями SDL2-image из-за того,
что (насколько я понял, изучив issues на GitHub)
библиотека загружает свои зависимости в runtime,
что приводит к тому, что эти зависимости почти невозможно отследить.
В CMakeLists.txt немного костыльный способ скопировать бинарники библиотек.
Не уверен, насколько он кросс-платформенный.
Какая-то часть кода взята из предыдущего тестового задания, какая-то из моих наработок до этого.