Skip to content

SheKnowsMystery/MatchThree

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Тестовое задание

Инструкция по сборке

Необходимо

  • CMake
  • vcpkg
  • система сборки, поддерживаемая генератором CMake
  • компилятор, поддерживающий стандарт языка C++20

Шаги

  1. Открыть консоль в папке проекта

  2. Создать папку /build и перейти в неё

    mkdir build
    cd build
  3. Сконфигурировать проектные файлы системы сборки используя 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"

    [!ВАЖНО!]

  4. Собрать проект в конфигурации Release и установить нужные файлы в папку /bin

    cmake --build . --config Release --target install --
  5. Перейти в папку /bin и запустить приложение

    cd ../bin
    ./MatchThree.exe

Пост Скриптум

Возникли проблемы с зависимостями SDL2-image из-за того, что (насколько я понял, изучив issues на GitHub) библиотека загружает свои зависимости в runtime, что приводит к тому, что эти зависимости почти невозможно отследить. В CMakeLists.txt немного костыльный способ скопировать бинарники библиотек. Не уверен, насколько он кросс-платформенный.


Какая-то часть кода взята из предыдущего тестового задания, какая-то из моих наработок до этого.

About

Тестовое задание

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published