Работа с терминалом
1. Конфигурация
$ mkdir ./build/
$ cd ./build/
$ cmake .. -DCMAKE_BUILD_TYPE=<config>
Вместо <config>
можно использовать одну из существующих конфигураций:
-
Debug
быстро компилируется и подходит для разработки. -
ASan, LSan, MSan, UBSan
подходят для отладки ошибок сегментации и других проблем с памятью. Рекомендуется запустить ваш код с санитайзерами перед отправкой на проверку! -
Release
нужен для сборки кода с оптимизациями и проверки скорости выполнения.
2. Сборка
$ cmake --build ./build/
Исполняемые файлы ./build/solution/image-transformer
и ./build/tester/image-matcher
будут собраны, их можно использовать для ручного тестирования.
3. Тестирование
$ cmake --build ./build/ --target check
# ИЛИ
$ cd ./build/
$ ctest --output-on-failure
ssh
+ git
Бонус: Как настроить SSH ключи
$ 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