$ mkdir ./build/
$ cd ./build/
$ cmake .. -DCMAKE_BUILD_TYPE=<config>Вместо <config> можно использовать одну из существующих конфигураций:
Debugбыстро компилируется и подходит для разработки.ASan, LSan, MSan, UBSanподходят для отладки ошибок сегментации и других проблем с памятью. Рекомендуется запустить ваш код с санитайзерами перед отправкой на проверку!Releaseнужен для сборки кода с оптимизациями и проверки скорости выполнения.
$ cmake --build ./build/Исполняемые файлы ./build/solution/image-transformer и ./build/tester/image-matcher
будут собраны, их можно использовать для ручного тестирования.
$ cmake --build ./build/ --target check
# ИЛИ
$ cd ./build/
$ ctest --output-on-failure$ ssh-keygen
$ cat ~/.ssh/id_rsa.pubВ настройках профиля GitLab нужно открыть категорию SSH Keys, добавить новый
ключ и скопировать содержимое id_rsa.pub туда.
$ git clone ssh://git@gitlab.se.ifmo.ru:4815/<my username>/assignment-image-rotation.git
$ cd ./assignment-image-rotation/$ git add ./solution/
$ git status
$ git commit -m "Lab complete"
$ git push origin masterПосле того, как вы откроете merge request, каждое новое изменение, добавленное таким образом, будет появляться там автомагически.
Как обновить свою лабораторную, если преподаватель попросил "подтянуть к себе свежие изменения" из основного репозитория
$ git remote add upstream ssh://git@gitlab.se.ifmo.ru:4815/programming-languages/assignment-image-rotation.git
$ git fetch upstream
$ git checkout master
$ git merge upstream/master
$ git remote remove upstream